Élimination de plusieurs espaces et espaces de début/fin dans les chaînes Java
En Java, vous pouvez rencontrer des chaînes contenant plusieurs espaces consécutifs et des espaces inutiles à le début ou la fin. Pour résoudre ce problème, vous recherchez une approche efficace pour remplacer tous les espaces multiples par un seul espace tout en éliminant simultanément les espaces de début et de fin.
Solution avec trim() et replaceAll()
La solution recommandée combine la méthode trim() avec la méthode replaceAll() :
String after = before.trim().replaceAll(" +", " ");
trim() supprime tous les espaces de début et de fin de la chaîne donnée. Ensuite, replaceAll() remplace toutes les occurrences de deux espaces consécutifs ou plus par un seul espace.
Aucune solution d'expression régulière trim()
Bien que moins lisible, c'est possible pour obtenir le même résultat avec un seul replaceAll() :
String pattern = "^ +| +$|( )+"; String after = before.replaceAll(pattern, "");
Cette expression régulière complexe a trois alternates:
Dans tous les cas, il remplace la séquence correspondante par $1, capturant un espace unique à la place de plusieurs espaces ou les éliminer complètement au début ou à la fin.
Ressources supplémentaires
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!