android - String.replace 返回额外的引号

标签 android string comparison wifi wifimanager

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

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() 进行比较,它会说它是假的,因为它是,所以我正在尝试替换 SSID: 部分,希望只获得 SSID 名称 (wifi1),以便可以比较字符串并返回 true。但是使用上面的代码会使 SSID 变量的值为 "wifi1",因此应用程序说它是错误的,因为 "wifi1" 不同wifi1.

为什么会这样?

最佳答案

删除 SSID 部分后,只需使用 .replaceAll("\"",""); 即可。因此您将拥有:

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

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

关于android - String.replace 返回额外的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512450/

相关文章:

java - 为什么创建从工作线程实现可运行的类的对象会抛出异常?

android - 如何在 android 中运行 adb 命令,我运行 sendevent 失败

android - 在浏览器上加载网页而不是在 Activity 中加载 Webview

php - 如何在 PHP 中创建一个自然的 String 类

php - 判断2个assoc数组内容是否相同

image - 相似图片搜索解决方案

android - GCM android 推送通知始终显示旧消息。收到的 Intent 不正确

c# - 使用 InvariantCultureIgnoreCase 而不是 ToUpper 进行不区分大小写的字符串比较

java - 如何在 java 中分离最后和剩余的所有单词?

javascript - 正确使用比较运算符