我试图处理以下名为" wifis"的字符串数组: -
[SSID: Stephen Joseph, BSSID: ##:a6:##:c0:21:##, capabilities: [WPA2-PSK-CCMP][WPS][ESS], level: -78, frequency: 2442, timestamp: 998653673499, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: TP-LINK_G6D356, BSSID: 30:b5:c2:f5:$$:56, capabilities: [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS], level: -86, frequency: 2452, timestamp: !!!653673417, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: cbtap998852211C:CF:7F:0A:AC:33, BSSID: 5e:cf:7f:0a:ac:91, capabilities: [ESS], level: -46, frequency: 2412, timestamp: 238653673402, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: Tech_D0008214, BSSID: 70:5a:9e:65:30:56, capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -88, frequency: 2462, timestamp: 238653673422, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: Tech_D0018138, BSSID: 50:09:59:83:ee:05, capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -91, frequency: 2437, timestamp: 238653673427, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm)]
我希望检查并提取cbtap998852211C:CF:7F:0A:AC:33
并将cbtap
分隔为另一个字符串,99885221
作为另一个bcz将其作为动态8位数,其余1C:CF:7F:0A:AC:33
作为另一个字符串。
及其来自String数组的BSSID编号5e:cf:7f:0a:ac:91
。
为了检查我已经完成if(Arrays.asList(wifis).contains(confirmation)){
确认是cbtap
但是如何提取它并完成上述任务。请建议apprach。
答案 0 :(得分:0)
当您破坏字符串时,必须使用键来查找第一部分。我认为tbtap是关键。
请注意,ip有6个部分,而不是你写的5个部分。
String s = "[SSID: Stephen Joseph, BSSID: ##:a6:##:c0:21:##, capabilities: [WPA2-PSK-CCMP][WPS][ESS], level: -78, frequency: 2442, timestamp: 998653673499, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: TP-LINK_G6D356, BSSID: 30:b5:c2:f5:$$:56, capabilities: [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS], level: -86, frequency: 2452, timestamp: !!!653673417, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: cbtap998852211C:CF:7F:0A:AC:33, BSSID: 5e:cf:7f:0a:ac:91, capabilities: [ESS], level: -46, frequency: 2412, timestamp: 238653673402, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: Tech_D0008214, BSSID: 70:5a:9e:65:30:56, capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -88, frequency: 2462, timestamp: 238653673422, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm), SSID: Tech_D0018138, BSSID: 50:09:59:83:ee:05, capabilities: [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS], level: -91, frequency: 2437, timestamp: 238653673427, hs2Info: <none>, distance: ?(cm), distanceSd: ?(cm)]";
int idx = s.indexOf("cbtap"); // cbtap998852211C:CF:7F:0A:AC:33,
if (idx != -1)
{
int idx2 = s.indexOf(',',idx);
s = s.substring(idx,idx2);
String cbtap = s.substring(0,5);
idx = s.indexOf(':');
String id = s.substring(5,idx-2);
String ip = s.substring(idx-2);
System.out.println(cbtap+" / "+id+" / "+ip);
}