这是我作为字符串的行:"Fatal error: Uncaught OAuthException: An active access token must be used to ..."
现在我希望javascript匹配此字符串的前几个单词或2-3个单词,如果它在该字符串中找到2-3个单词则返回布尔值true,如果找不到则返回false。知道如何实现这一目标吗?感谢。
答案 0 :(得分:1)
您可以使用.indexOf函数在字符串中查找这几个单词。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
这是一个例子:
var string1 = "Fatal error: Uncaught OAuthException: An active access token must be used to ...";
var string2 = "Warning: testfile, lorem ipsum";
alert( checkString(string1) );
alert( checkString(string2) );
function checkString(str) {
if(str.indexOf("Fatal error") == -1)
return false;
return true;
}
如果字符串包含“致命错误”(在任何地方,不仅在开头),函数checkString将返回true。您可以通过将其更改为以下内容来更改函数以仅匹配字符串的开头:
function checkString(str) {
if(str.indexOf("Fatal error") == 0)
return true;
return false;
}
答案 1 :(得分:0)
进行任何类型字符串匹配的最简单方法是使用“regular expressions”。这是一种非常常见的迷你语言,已经在许多不同的编程语言,文本编辑器和其他地方实现。
您可以在这里学习正则表达式的基础知识:
您可以在这里学习如何在javascript中使用它:
以下是javascript可能看起来像正则表达式匹配:
var mystring = "Fatal Error: Uncaught Oauth..."
var pattern = /fatal.*error.*uncaught/i; // this is the regular expression
var result = pattern.test(mystring);
alert(result);
这将提醒真实。
答案 2 :(得分:0)
var str = "Fatal error: Uncaught OAuthException: An active access token must be used to";
var res = str.split(" ");
for (var i = 0; i < res.length; i++)
{
//compare using res[i].equals(res[i+1]) method as many strings you need check
}