2011-07-16 3 views
2

Je veux trouver 3 espaces consécutifs dans une chaîne.
Jusqu'à présent, j'ai essayélastIndexOf pour trouver 3 espace consécutifs

str.indexOf(" ") 
str.match(/\s\s\s+/) 

aucun d'entre eux a travaillé [les retours 1 et détecter seul espace que 3 espace]

Edit
Exemple d'entrée:

Blah blah 1space 2space 3space  lots of spaceNo space 

Il interrompt^ici et le détecte comme espace 3 [FF 4]

+1

Quelles sont les chaînes d'entrée? –

+0

une chaîne avec beaucoup d'espace et de mots dedans! – Sourav

+0

Ok ... alors je peux seulement dire, ça marche pour moi: 'alert (" 2 espaces avant 3 espaces après ".indexOf (" "))'. –

Répondre

6

Votre expression régulière est proche, sauf vous recherchez \s (qui correspond également aux onglets et aux nouvelles lignes), et vous recherchez 3+ (pas exactement 3). Essayez d'utiliser ceci:

str.search(/ {3}/) 

Il y retourne l'index des trois premiers espaces consécutifs (ou -1 s'il n'y a pas de match).

Si vous voulez faire correspondre trois ou plusieurs espaces, vous pouvez utiliser cette syntaxe de répétition:

str.search(/ {3,}/) 
+0

merci cela a fonctionné :) sélectionnera comme réponse dans les 3 min – Sourav

Questions connexes