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() + " ";
これは私がそれを機能させることができる最高のものですが、検索語 (pineapple,ect...) を含む単語を除外するために、両方の文字列セット ( ) の前後にスペースを入れる必要があるのは好きではありません。私は使用しようとしましたRegExp (kw = new RegExp('\\b' + kw + '\\b');
しかし、それは機能していません。より良い解決策を考え出すことができれば幸いです。ありがとう!