簡體   English   中英

檢查字符串數組是否包含所需的子字符串后,如何提取與子字符串和子字符串本身連續的字符

[英]how do I extract characters consecutive to the substring and the substring itself After checking if string array contains the required substring

我正在嘗試處理以下稱為“ 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但是我該如何提取它並執行上述任務。請提出建議。

斷開字符串時,必須使用鍵找到第一部分。 我認為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);
     }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM