我正在尝试编写一个 Javascript 函数来查找文本文档中所有出现的单词的索引。目前这就是我所拥有的——
//function that finds all occurrences of string 'needle' in string 'haystack'
function getMatches(haystack, needle) {
if(needle && haystack){
var matches=[], ind=0, l=needle.length;
var t = haystack.toLowerCase();
var n = needle.toLowerCase();
while (true) {
ind = t.indexOf(n, ind);
if (ind == -1) break;
matches.push(ind);
ind += l;
}
return matches;
}
但是,这给了我一个问题,因为即使它是字符串的一部分,它也会匹配单词的出现。例如,如果针是“书”,干草堆是“汤姆写了一本书。这本书的名字是 Facebook for dummies”,结果是“书”、“书”和“Facebook”的索引,当我只想“书”的索引。我怎样才能做到这一点?任何帮助表示赞赏。