2017-10-11 89 views
1

,如果我有它有很多次同一個詞的字符串,可以說一個字的具體出現的位置:使用Javascript - 查找的字符串(不是第一個或最後一個)

「的新問題,新課題,新的查詢,新的代碼,新的語言,新的答案「

在這裏,我們有6個單詞」新「,但我想找到第4個」新「的位置。

我知道IndexOf返回第一次出現的位置,LastIndexOf返回最後一次,但我怎樣才能找到第四次出現的位置?

謝謝!

+3

重複這個問題,請在這裏看到:https://stackoverflow.com/questions/14480345/how第一次出現的字符串 – Nick

+0

[如何獲得第n次出現次數nce在一個字符串?](https://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string) –

回答

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);

+0

這效果很好,謝謝! – edwin26

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);

+0

男人,我討厭'while'循環。 –

+0

爲什麼不直接'&&計數 - '如果在做代碼高爾夫球...... –

相關問題