使用javascript查找字符串中的子字符串的所有索引以及相应的限制

时间:2017-06-22 15:44:10

标签: javascript

我需要一个函数,它可以使用javascript返回更大字符串中子字符串位置的信息。我不知道这样的事情是否存在,所以我想抓住机会。

例如,具有以下输入字符串:

"dog elephant you me test another test what thesis"

如果我有以下数组:

array("Dog", "test", "not this one", "what the heck", "thesis")

indexOf 输入字符串中所有这些元素的位置的最有效方法是什么?让函数返回一个包含以下信息的对象:

  • “狗” - 从0到3
  • “test” - 从(test开始)到(结束时)
  • “not this one” - null(不在字符串中)
  • “哎呀” - null(不在字符串中)
  • “论文” - 从(thesis开始)到(结束)

有没有人有任何想法? Tyvm!

1 个答案:

答案 0 :(得分:0)

请注意,这是区分大小写的:



var str = "dog elephant you me test another test what thesis";

var words = ["dog", "test", "not this one", "what the heck", "thesis"];

var indices = words.map(function (word) {
  var start = str.indexOf(word);
  if (start === -1) {
    return null;
  }
  return { word, start, end: start + word.length };
});

console.log(indices);




我只能猜出你想要的结果是什么样的。我的解决方案返回一个对象数组。对象具有word属性,其中包含有问题的单词,起始索引的start属性和结束索引的end属性。如果找不到该单词,则该对象将替换为null