Comment supprimer Whitespace between String - Java

Comment supprimer les espaces entre les chaînes - Java

Aujourd'hui, je joue avec quelque chose de drôle et simple en Java, franchement je ne sais vraiment pas à ce sujet. Par exemple, consultez les extraits de code:

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

Ce que j'essaie de faire, c'est de supprimer tous les espaces entre une chaîne. par exemple, l'utilisateur saisit "Hello Google", il remplacera par "Hello AND Google", c'est correct si l'utilisateur n'entre qu'un seul espace entre les mots.

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

Mais qu'en est-il de la clé utilisateur dans de nombreux espaces intermédiaires? Par exemple

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

Ci-dessus n'est pas ce que je veux, dois-je le remplacer comme ci-dessous?

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

oui, nous pouvons en remplacer autant que nous voulons, mais ce n'est pas assez efficace et dynamique.

Solution

Dans ce cas, vous devez utiliser une expression régulière pour le résoudre.

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

Super, exactement ce que je veux, Regular Expression ROCK !!!