Maison >Java >javaDidacticiel >Comment puis-je supprimer plusieurs espaces et espaces de début/fin en Java ?

Comment puis-je supprimer plusieurs espaces et espaces de début/fin en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 08:47:14268parcourir

How Can I Remove Multiple Spaces and Leading/Trailing Whitespace in Java?

Suppression de plusieurs espaces et des espaces de début/fin en Java

Lorsque vous travaillez avec des chaînes en Java, il est souvent nécessaire de manipuler les espaces pour améliorer la lisibilité et la cohérence. Une tâche courante consiste à remplacer plusieurs espaces par un seul espace tout en supprimant également les espaces au début et à la fin d'une chaîne.

Commençons par un exemple classique : convertir « bonjour » en « bonjour ».

Utiliser trim() et replaceAll()

Une approche simple consiste à combiner trim() et replaceAll() méthodes :

String before = " hello     there   ";
String after = before.trim().replaceAll(" +", " ");

La méthode trim() supprime tous les espaces de début et de fin, tandis que replaceAll() remplace plusieurs espaces consécutifs (" ") par un seul espace.

Regex -Seule solution

Il est également possible d'accomplir cela avec un seul replaceAll en utilisant un standard expressions :

String result = before.replaceAll("^ +| +$|( )+", "");

Cette expression régulière a trois modèles alternatifs :

  • "^ " : 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 qui ne correspond à aucun des éléments ci-dessus (c'est-à-dire plusieurs espaces au milieu)

Pour chaque modèle, $1 capture la chaîne vide (pour les espaces de début/fin) ou un seul espace (pour plusieurs espaces au milieu).

Voir aussi

  • String.trim() pour plus d'informations sur la suppression whitespace
  • regular-expressions.info/Repetition pour plus de détails sur les modèles de répétition regex
  • regular-expressions.info/Anchors pour plus d'informations sur les ancres regex

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