如果我的字符串中有很多次相同的单词,请说:
“新问题,新主题,新查询,新代码,新语言,新答案”
这里我们有6次“新”这个词,但我想找到第4个“新”的位置。
我知道IndexOf返回第一次出现的位置而LastIndexOf返回最后一次出现的位置,但我怎样才能找到第4次出现的位置???
谢谢!
答案 0 :(得分:0)
您可以使用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);
答案 1 :(得分:0)
你可以做到
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);