String.replace 返回额外的引号

use*_*874 1 string comparison android wifi wifimanager

好的,所以这可能是一个非常愚蠢的问题,但老实说,我无法弄清楚这里发生了什么,我正在尝试将当前的 SSID 与另一个变量进行比较,如下所示:

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String SSID = wifiInfo.getSSID().replace("SSID: ","");
if(myWifi.equals(SSID)){

} else {

}
Run Code Online (Sandbox Code Playgroud)

现在,如您所知,wifiInfo.getSSID()返回这样的字符串SSID: wifi1。假设myWifi值是wifi1,如果与它进行比较,wifiInfo.getSSID()它会说它是假的,因为它是假的,所以我试图SSID:无偿替换该部分,希望只获得 SSID 名称 (wifi1),因此可以比较字符串和返回真。但是使用上面的代码会使 SSID 变量的值为"wifi1",因此应用程序说它是假的,因为它"wifi1"wifi1.

为什么会这样?

Ale*_*man 5

.replaceAll("\"","");拆下SSID零件后使用简单。所以你将拥有:

String SSID = wifiInfo.getSSID().replace("SSID: ","").replaceAll("\"","");
Run Code Online (Sandbox Code Playgroud)

"无论它们在字符串中的哪个位置,这都将删除所有内容。