Javascript str.search() multiple instances

Wenn picture Wenn · Jul 26, 2011 · Viewed 8k times · Source

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

Answer

nrabinowitz picture nrabinowitz · Jul 26, 2011

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
}