Maison >Java >javaDidacticiel >Comment puis-je supprimer efficacement plusieurs espaces et réduire les espaces de début et de fin en Java ?

Comment puis-je supprimer efficacement plusieurs espaces et réduire les espaces de début et de fin en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-30 09:55:11615parcourir

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

Java : remplacement de plusieurs espaces par un seul espace et suppression des espaces de début et de fin

Pour résoudre la tâche de réduction de plusieurs espaces en un seul espace et en éliminant les espaces de début et de fin, nous avons plusieurs solutions Java.

Solution 1 : Utiliser trim() et replaceAll()

Cette solution utilise la méthode trim() pour supprimer les espaces de début et de fin, suivie de replaceAll() pour combiner plusieurs espaces en un seul espace :

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

Solution 2 : Regex uniquement

Bien que moins lisible, il est possible de résoudre le problème avec un seul replaceAll() en utilisant une expression régulière complexe :

String[] tests = {
  "  x  ",      
  "  1   2   3  ",  
  "",             
  "   ",          
};
for (String test : tests) {
  System.out.format("[%s]%n",
      test.replaceAll("^ +| +$|( )+", "")
  );
}

Détails de la solution

  • Solution 1 : trim() supprime tous les espaces de début et de fin , tandis que replaceAll() remplace les espaces consécutifs par un seul espace.
  • Solution 2 : L'expression régulière obtient le même résultat en une seule étape. Il fait correspondre et remplace les séquences d'espaces au début, à la fin ou au milieu de la chaîne par soit une chaîne vide (pour supprimer les espaces supplémentaires), soit un seul espace capturé (pour conserver les espaces simples intacts).

Ressources supplémentaires

  • [String.trim() documentation](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim--)
  • [Modèles de répétition d'expressions régulières](https:// www.regular-expressions.info/Repetition)
  • [Expression régulière ancres](https://www.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