我将使用javascript进行情报搜索。我有一个带有文本的字符串,我会在搜索框中找到该单词,而不是使用结果设置新的var。 我可以使用哪些javascript方法?
答案 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;
参见例如。 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