Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript str.search() multiple instances

How can I retrieve multiple indexes from multiple instances of a string search?

var str = "food";
var index1 = str.search("o"); // 1
var index2 = str.search("o"); // ?

Thanks much, Wen

like image 640
Wenn Avatar asked Jul 26 '11 05:07

Wenn


2 Answers

I think the best way to do this for strings of non-trivial length is the RegExp.exec() function:

var str = "Foooooooood!",
    re = /o/g,
    match;
while (match = re.exec(str)) {
    console.log(match.index); // logs 1 through 9
}
like image 62
nrabinowitz Avatar answered Sep 21 '22 01:09

nrabinowitz


You can use second parameter of indexOf method to achieve what you want:

var str = "food",
    index1 = str.indexOf("o"),
    index2 = str.indexOf("o", index1+1);
like image 27
bjornd Avatar answered Sep 20 '22 01:09

bjornd