String.replace返回额外的引号

时间:2017-01-06 18:57:06

标签: android string comparison wifi wifimanager

好的,这可能是一个非常愚蠢的问题,但老实说,我不能弄清楚这里发生了什么,我试图将当前的SSID与另一个变量进行比较:< / p>

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

} else {

}

现在,正如您所知,wifiInfo.getSSID()返回一个类似于此SSID: wifi1的字符串。我们假设myWifi的值为wifi1,如果与wifiInfo.getSSID()进行比较,它会说它是假的,因为它是,所以我&# 39; m试图将SSID:部分替换为空,希望只获取SSID名称(wifi1),这样就可以比较字符串并返回true。但是使用上面的代码会使SSID变量的值为"wifi1",因此应用说它是假的,因为"wifi1"wifi1不同。

为什么会这样?

2 个答案:

答案 0 :(得分:3)

在删除.replaceAll("\"","");部分后,只需使用SSID即可。所以你将拥有:

String SSID = wifiInfo.getSSID().replace("SSID: ","").replaceAll("\"","");

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

答案 1 :(得分:-1)

我会使用String.Contains来检查你想要的字符串。

bool wifiNameExists = wifiInfo.Contains("wifi1")

你可以当然替换&#34; wifi1&#34;使用包含您要搜索的wifi名称的字符串。