我只想用任何可能的字符串创建一个正则表达式.
var usersString = "Hello?!*`~World()[]";
var expression = new RegExp(RegExp.escape(usersString))
var matches = "Hello".match(expression);
Run Code Online (Sandbox Code Playgroud)
有内置的方法吗?如果没有,人们会用什么?Ruby有RegExp.escape.我觉得我不需要自己编写,那里必须有标准的东西.谢谢!
我正在检查字符串输入是否包含任何字符串数组。它通过了大部分测试,但没有通过以下测试。
谁能分解我的代码,为什么它不能正常工作?
function checkInput(input, words) {
var arr = input.toLowerCase().split(" ");
var i, j;
var matches = 0;
for(i = 0; i < arr.length; i++) {
for(j = 0; j < words.length; j++) {
if(arr[i] == words[j]) {
matches++;
}
}
}
if(matches > 0) {
return true;
} else {
return false;
}
};
checkInput("Visiting new places is fun.", ["aces"]); // returns false // code is passing from this test
checkInput('"Definitely," he said in a matter-of-fact tone.',
["matter", "definitely"])); …Run Code Online (Sandbox Code Playgroud) 如何确定中的任何单个字符是否src与中的任何单个字符匹配restricted?我有可以执行此工作的JS方法,但是如果可以的话,我想对其进行改进:
function CheckRestricted(src, restricted)
{
for (var i = 0; i < src.length; i++)
{
for (var j = 0; j < restricted.length; j++)
{
if (src.charAt(i) == restricted.charAt(j))
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
如果这是C#,则可以用LINQ在一行中实现:
bool CheckRestricted(string src, string restricted)
{
return src.Any(s => restricted.Contains(s));
}
Run Code Online (Sandbox Code Playgroud)
我不知道JS中是否有某种类似的功能?
编辑:示例用例:
CheckRestricted("ABCD", "!+-=;:'`"); //true
CheckRestricted("ABCD!", "!+-=;:'`"); //false
Run Code Online (Sandbox Code Playgroud)
它主要用于禁止“特殊字符”。
有什么方法或快速方法可以查看字符串中数组中的哪些元素?
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring';
Run Code Online (Sandbox Code Playgroud)
在这个例子中,bar从阵列中存在myString,所以我需要bar给予myArray和myString。