findIndexes(s,kw) 应该在字符串中找到关键字(kw) 每次出现的起始索引。
function findIndexes(s,kw){
var result = [];
s = " " + s.toLowerCase() + " ";
kw = " " + kw.toLowerCase() + " ";
var i = s.indexOf(kw);
while (i >= 0){
result.push(i);
i = s.indexOf(kw, i+kw.length);
};
console.log("The index of " + kw +":");
for (var i =0; i < result.length; i++)
console.log(result[i]);
}
findIndexes("Apple PEAR banana pineapple STRAWBERRY appLE CrabApple ApPle","apple");
// returns 0, 39, 55
这是我可以让它工作的最好的,但我不喜欢我必须在两个字符串集(s = " " + s.toLowerCase() + " "; kw = " " + kw.toLowerCase() + " ";
)之前和之后放置空格来排除那些包含搜索词(菠萝等......)的词。我尝试使用RegExp(kw = new RegExp('\\b' + kw + '\\b');
但它不起作用。如果您能提出更好的解决方案,我将不胜感激。谢谢!