Diviser une chaîne à l'aide de délimiteurs d'espaces en Java
La classe String de Java fournit une puissante méthode « split() » pour diviser les chaînes en sous-chaînes. Cependant, que se passe-t-il si vous devez délimiter des chaînes en utilisant tous les caractères d'espacement, y compris les espaces, les tabulations et les nouvelles lignes ?
Regex pour les délimiteurs d'espaces
Le modèle d'expression régulière à transmettre 'split()' à cet effet est 's'. Ce modèle englobe tous les caractères définis comme espaces, garantissant une division cohérente sur n'importe quel espace blanc.
Application du modèle
Pour appliquer le modèle, utilisez simplement la syntaxe suivante :
String[] substrings = myString.split("\s+");
Cela divisera 'myString' en un tableau de sous-chaînes, où chaque sous-chaîne est séparée par n'importe quelle quantité de espace blanc.
Exemple
Considérez la chaîne :
"Hello [space character] [tab character] World"
En utilisant l'expression régulière fournie, l'opération de division donnerait ce qui suit substrings :
Notez que l'espace vide entre les caractères [espace] et [tab] est omis de le résultat.
Considérations d'évasion
Comme VonC mentionne, le caractère barre oblique inverse dans l'expression régulière doit être échappé en Java. Cela empêche Java de tenter d'échapper à la chaîne en tant que caractère d'échappement. Pour transmettre le « s » littéral, utilisez plutôt « s ».
RegEx équivalent
Le modèle « s » est équivalent à la classe de caractères suivante :
[ \t\n\x0B\f\r]
Cette classe inclut tous les caractères d'espacement définis par la classe Character de Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!