Javascript str.search () несколько экземпляров - PullRequest
5 голосов
/ 26 июля 2011

Как мне получить несколько индексов из нескольких экземпляров поиска строки?

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

Большое спасибо, Вен

Ответы [ 2 ]

12 голосов
/ 26 июля 2011

Я думаю, что лучший способ сделать это для строк нетривиальной длины - функция RegExp.exec() :

var str = "Foooooooood!",
    re = /o/g,
    match;
while (match = re.exec(str)) {
    console.log(match.index); // logs 1 through 9
}
5 голосов
/ 26 июля 2011

Вы можете использовать второй параметр метода indexOf для достижения желаемого:

var str = "food",
    index1 = str.indexOf("o"),
    index2 = str.indexOf("o", index1+1);
...