如何用javascript搜索字符串中的单词

时间:2018-01-09 10:29:08

标签: javascript html angularjs

我将使用javascript进行情报搜索。我有一个带有文本的字符串,我会在搜索框中找到该单词,而不是使用结果设置新的var。 我可以使用哪些javascript方法?

3 个答案:

答案 0 :(得分:1)

有很多方法可以在字符串中查找子字符串。

例如,您可以使用String.prototype.search()来确定另一个字符串中子字符串的位置:



var text = "Find me!";
var result = text.search("me");
console.log(result);
result = text.search("him");
console.log(result);




String.prototype.indexOf()几乎完全相同:



var text = "Find me!";
var result = text.indexOf("me");
console.log(result);
result = text.indexOf("him");
console.log(result);




如果您只想知道字符串是否包含某个子字符串,可以使用String.prototype.includes()



var text = "Find me!";
var result = text.includes("me");
console.log(result);
result = text.includes("him");
console.log(result);




如果您要查找搜索模式,可以使用String.prototype.match()



var text = "Find me!";
var result = text.match(/me/);
console.log(result);
result = text.match(/him/);
console.log(result);




或者,您可以使用RegExp.prototype.test()



var text = "Find me!";
var result = /me/.test(text);
console.log(result);
result = /him/.test(text);
console.log(result);




您也可以使用a utility library like lodash为您执行此操作:



var text = "Find me!";
var result = _.includes(text, "me");
console.log(result);
result = _.includes(text, "him");
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;
&#13;
&#13;

参见例如。 this benchmark比较每种方法的表现。

答案 1 :(得分:0)

你可以试试这个:

var str = "123test123";
if(str.indexOf("test") >= 0) {
   console.log("Found");
}

答案 2 :(得分:0)

如果您有字符串变量,则可以使用include()方法。见https://www.w3schools.com/jsref/jsref_includes.asp