2010-07-01 6 views
3

J'ai d'abord utilisé indexOf pour trouver un espace mais je veux trouver n'importe quelle limite de mot.Position du premier mot de chaîne en Javascript

Quelque chose comme ça, mais quelle regex?

var str = "This is a sentence", 
firstword = str.search(""); 
return word; 

Je veux retourner "Ceci". Même dans le cas d'un onglet, période, virgule, etc.

Répondre

11

Quelque chose comme ceci:

var str = "This is a sentence"; 
return str.split(/\b/)[0]; 

Bien que vous auriez probablement eu envie de vérifier qu'il y avait un match comme celui-ci:

var str = "This is a sentence"; 
var matches = str.split(/\b/); 
return matches.length > 0 ? matches[0] : ""; 
+1

+1 même idée un peu plus vite – jigfox

+0

Seulement juste. J'utilise rarement JS donc j'étais heureux d'avoir la même réponse. –

+1

Je vous remercie tous les deux –

3

Cela divise la chaîne à chaque limite de mot et retourne la première:

var str = "This is a sentence"; 
firstword = str.split(/\b/)[0]; 
Questions connexes