,如果我有它有很多次同一个词的字符串,可以说一个字的具体出现的位置:使用Javascript - 查找的字符串(不是第一个或最后一个)
“的新问题,新课题,新的查询,新的代码,新的语言,新的答案“
在这里,我们有6个单词”新“,但我想找到第4个”新“的位置。
我知道IndexOf返回第一次出现的位置,LastIndexOf返回最后一次,但我怎样才能找到第四次出现的位置?
谢谢!
,如果我有它有很多次同一个词的字符串,可以说一个字的具体出现的位置:使用Javascript - 查找的字符串(不是第一个或最后一个)
“的新问题,新课题,新的查询,新的代码,新的语言,新的答案“
在这里,我们有6个单词”新“,但我想找到第4个”新“的位置。
我知道IndexOf返回第一次出现的位置,LastIndexOf返回最后一次,但我怎样才能找到第四次出现的位置?
谢谢!
您可以使用String#indexOf
的第二个参数fromIndex
,并采用之前找到的开始新搜索的位置。
var string = "new question, new topic, new query, new code, new language, new answer",
i = 0,
pos = -1
do {
pos = string.indexOf('new', pos + 1);
i++;
} while (pos !== -1 && i < 4)
console.log(pos);
这效果很好,谢谢! – edwin26
你可以做
let str = "new question, new topic, new query, new code, new language, new answer"
let re = /new/g;
let myArray, count = 4;
while ((myArray = re.exec(str)) !== null && count--);
console.log(count==-1 && myArray.index);
男人,我讨厌'while'循环。 –
为什么不直接'&&计数 - '如果在做代码高尔夫球...... –
重复这个问题,请在这里看到:https://stackoverflow.com/questions/14480345/how第一次出现的字符串 – Nick
[如何获得第n次出现次数nce在一个字符串?](https://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string) –