Maison  >  Article  >  Java  >  Comment supprimer efficacement plusieurs espaces de début et de fin des chaînes Java ?

Comment supprimer efficacement plusieurs espaces de début et de fin des chaînes Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-25 17:57:12659parcourir

How to Efficiently Remove Multiple, Leading, and Trailing Spaces from Java Strings?

É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:

  • ^ : Correspond à n'importe quelle séquence d'espaces au début de la chaîne
  • $ : Correspond à n'importe quelle séquence d'espaces à la fin de la chaîne
  • ( _) : Correspond à n'importe quelle séquence d'espaces au milieu de la chaîne

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

  • String.trim() : https:/ /docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim()
  • Expressions régulières pour Répétition : https://regular-expressions.info/Repetition
  • Expressions régulières pour les ancres : https://regular-expressions.info/Anchors

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn