159 votes

Comment rechercher des occurrences de plus d'un espace entre les mots d'une ligne

Comment rechercher des occurrences de plus d'un espace entre les mots d'une ligne

 1. this is a line containing  2 spaces
2. this is a line containing   3 spaces
3. this is a line containing multiple spaces first  second   three   four

Tous les éléments ci-dessus sont des correspondances valides pour cette expression régulière. Quelle expression régulière dois-je utiliser?

263voto

AlexanderMP Points 6147
[ ]{2,}

ESPACE (2 ou plus)

Vous pouvez également vérifier qu'avant et après ces espaces, les mots suivent. (pas d'autres espaces comme des tabulations ou de nouvelles lignes)

 \w[ ]{2,}\w

la même chose, mais vous pouvez également choisir (capturer) uniquement les espaces pour des tâches comme le remplacement

 \w([ ]{2,})\w

ou voir qu'avant et après les espaces, il y a quelque chose, pas seulement des caractères de mots (sauf les espaces)

 [^\s]([ ]{2,})[^\s]

24voto

tdammers Points 14202

Solution simple:

 /\s{2,}/

Cela correspond à toutes les occurrences d'un ou plusieurs caractères d'espacement. Si vous devez faire correspondre la ligne entière, mais uniquement si elle contient au moins deux caractères d'espace blanc consécutifs:

 /^.*\s{2,}.*$/

Si les espaces n'ont pas besoin d'être consécutifs:

 /^(.*\s.*){2,}$/

14voto

Owen Yuwono Points 146

Cette expression régulière sélectionne tous les espaces, vous pouvez l'utiliser et le remplacer par un seul espace

 \s+

exemple en python

 result = re.sub('\s+',' ', data))

2voto

Ojitha Points 21

Voici ma solution

 [^0-9A-Z,\n]

Cela supprimera tous les chiffres, virgules et nouvelles lignes, mais sélectionnez l'espace du milieu tel que l'ensemble de données de

  • 20171106,16632 ESCG0000018SB
  • 20171107,280 ESCG0000018SB
  • 20171106,70476 ESCG0000018SB

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X