2016-12-14 1 views
0

Ich versuche Signalstärke von SSID zu bekommen. Meine Ausgabe ist: ssid Name + Signal
Beispiel: GIGABYTE 92%
aber ich möchte nur ausgegeben: GYGABYTE 92Wie lösche ich mein letztes Zeichen aus der Ausgabe (%)?

Ich möchte wissen, wie kann ich letzte Zeichen von meinem Ausgang (%) zu entfernen.

Bitte helfen Sie mir, es zu lösen.

Dies ist mein Code:

ArrayList<String>ssids=new ArrayList<String>(); 
    ArrayList<String>signals=new ArrayList<String>(); 
    ProcessBuilder builder = new ProcessBuilder(
      "cmd.exe", "/c", "netsh wlan show all"); 
    builder.redirectErrorStream(true); 
    Process p = null; 
    try { 
     p = builder.start(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); 
    String line; 
    while (true) { 
     try { 
      line = r.readLine(); 

     if (line.contains("SSID")||line.contains("Signal")){ 
      if(!line.contains("BSSID")) 
       if(line.contains("SSID")&&!line.contains("name")&&!line.contains("SSIDs")) 
       { 
        line=line.substring(8); 
        ssids.add(line); 

       } 
       if(line.contains("Signal")) 
       { 
        line=line.substring(30); 
        signals.add(line); 

       } 

       if(signals.size()==7) 
       { 
        break; 
       } 

     } 
     } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

    } 
    for (int i=1;i<ssids.size();i++) 
    { 

     System.out.println(ssids.get(i)+" "+signals.get(i)); 

    } 

} 

}

+3

Sie haben mehrere Möglichkeiten. Am einfachsten wäre es, 'String # substring()' – TheLostMind

+0

Danke zu verwenden. Ich werde versuchen – valentina

+0

Eine andere Möglichkeit ist, String # replaceAll-Methode zu verwenden. –

Antwort

0

Ganz klar ein:

line = line.substring(0,line.length() - 1); 

helfen Ihnen;)

Verwandte Themen