2017-03-01 1 views
-2
String s="Swamy Application"; 
s=s.replaceAll("\\S"," "); 
system.out.println(s); 

Sollte String zurück, aber wir sind immer leer I Erklärung brauchen Was in \\S passiert.Könnte bitte lassen Sie mich die Erklärung s.replaceAll wissen („\ S“, "„)

+1

RT * M. Was meintest du den Code zu tun, wenn du es geschrieben hast? – Biffen

+0

\ S stimmt mit allen Nicht-Leerzeichen überein: http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html – Harald

+0

Verwenden Sie stattdessen '\\' – m87

Antwort

0

String.replaceAll() nimmt eine Regex als ersten Parameter und den Ersetzungstext für alle Übereinstimmungen dieser Regex als zweiten Parameter. Hier haben Sie \\S als ersten Parameter angegeben, der mit allen Nicht-Leerzeichen übereinstimmt. Die Ersetzungszeichenfolge ist ein Leerzeichen. Der zurückgegebene String würde also nur Whitespaces haben.

+0

Yeah, Thanks @ Naveed S –

0

\ S stimmt mit allen Nicht-Leerzeichen überein, die dazu führen, dass die Alphazeichen in der Zeichenfolge durch Leerzeichen ersetzt werden.

"Swamy Application" -> ""

Mehr dazu bei source

Wenn Sie versuchen, die Leerzeichen aus der Zeichenfolge zu ersetzen, dann verwenden:

"\ s"

Wenn Sie versuchen, das einzige S-Zeichen von der Zeichenfolge zu ersetzen, verwenden Sie dann:

"S"

Verwandte Themen