So entfernen Sie Whitespace zwischen String - Java

So entfernen Sie Leerzeichen zwischen String - Java

Heute spiele ich mit einer lustigen und einfachen Sache in Java herum, ehrlich gesagt weiß ich wirklich nichts darüber. Siehe beispielsweise Codefragmente:

if(StringUtils.hasLength(sText)
 {
     sText= sText.replaceAll(" ", " AND ");
}

Was ich versuche zu tun, ist alle Leerzeichen zwischen einem String zu entfernen. Wenn Sie beispielsweise "Hallo Google" eingeben, wird dieser als "Hallo UND Google" ersetzt. Dies ist korrekt, wenn der Benutzer nur ein Leerzeichen zwischen den Wörtern eingibt.

"Hello Google"  ---> "Hello AND Google"

Aber wie wäre es mit einem Benutzerschlüssel in vielen Zwischenräumen? Beispielsweise

"Hello           Google"  ---> "Hello AND AND AND AND AND Google"

Oben ist nicht das, was ich will, sollte ich es wie unten ersetzen?

if(StringUtils.hasLength(sText)
 {
     sText= sText.replaceAll(" ", " AND ");
     sText= sText.replaceAll("  ", " AND ");
     sText= sText.replaceAll("   ", " AND ");
     sText= sText.replaceAll("    ", " AND ");
     sText= sText.replaceAll("     ", " AND ");
}

Ja, wir können so viele ersetzen, wie wir möchten, aber das ist nicht so effektiv und dynamisch genug.

Lösung

In diesem Fall sollten Sie einen regulären Ausdruck verwenden, um das Problem zu lösen.

if(StringUtils.hasLength(sText)
 {
     sText= sText.replaceAll("\\s+", " AND ");
}

Großartig, genau das, was ich will, Regular Expression ROCK !!!