2017-11-26 3 views
-1

Dieser Code scheint, wie es die Leerzeichen entfernen sollte, entfernt alles außer den Kleinbuchstaben wie ich will, aber aus irgendeinem Grund bleiben die Leerzeichen. Was mache ich falsch?Entfernen von Leerzeichen aus Strings in Java?

for(int i = 0; i < message.length(); i++){  
    if((int) message.charAt(i) > 122 || (int) message.charAt(i) < 97) 
     message = message.replace(message.charAt(i), Character.MIN_VALUE);  
} 
String msg = message.replaceAll("\s", ""); 
+0

Ändern Sie den '\\ s' zu '\\ s +' \\ s Leerzeichen ist \\ s + oder \\ s ++ ist eine beliebige Menge von Leerzeichen – Artemis

+0

I msg direkt nach bin auszudrucken, und er druckt die Zeichenfolge genau so aus, wie ich möchte, außer die Leerzeichen werden nicht entfernt. – Ian

+1

'String msg = message.replaceAll (" \\ s "," ");' Sollte gut funktionieren. Sie brauchen diese for-Schleife nicht, um Leerzeichen zu entfernen (Sie wissen nicht, was Sie damit machen wollten). – nicovank

Antwort

-2

Versuchen Sie dies :) Dies erstellt eine neue Zeichenfolge, die keine Leerzeichen enthält. Und wenn Sie es mehr als einmal tun müssen, machen Sie dies zu einer einfachen Methode, die eine Zeichenfolge zurückgibt.

String resultStr = "";  
for(int i = 0; i < message.length(); i++){  
     if (!Character.isWhitespace(message.charAt(i))) 
     resultStr += message.charAt(i); 
    } 

// without whitespace 
System.out.print(resultStr); 
+0

Sie könnten es effizienter mit ASCII-Codes statt :) –

+0

Jeder Grund, String anstelle von StringBuilder hier zu verwenden? –

+0

Nein, ich mag es einfach :) –

Verwandte Themen