我创建了一个解析一串文本并查找关键词组合的函数。然后捕获关键字及其索引,并在以后用于从第一个到最后一个关键字重新组合完整字符串,包括其间的所有单词。我使用array.slice从数组中提取字符串,但它不一致,有时需要递增\递减第二个值才能获得完全匹配。我已经创建了一个jsfiddle http://jsfiddle.net/jkeohan/g7vdgg1a/4/来演示它。
第50和64行是使用slice的那些,在一个实例中使用index + 1而另一个是index-1。两者在大多数情况下都会产生相同的结果。
var phrase = (datafull.slice( (comparearray[0].index-1),
(comparearray[comparearray.length-2].index+1) ) ).join(" ")
matchingString = (datafull.slice( (comparearray[0].index-1),
(comparearray[comparearray.length-3].index-1) ) ).join(" ")
有什么想法吗?