在字符串中匹配模式

时间:2017-11-04 16:28:57

标签: javascript string function

我认为问题在于,无论我拥有什么价值,它总是最终成为现实。如果有人可以通过简单的JavaScript为初学者帮我解释一下

function match(string, pattern) {
  var i;
  var letterFound = true;
  var str = string.length;
  if (string.indexOf(pattern) != -1)

  {
    letterFound = true;
  } else letterFound = false;

  return letterFound;
}

alert(match("abcdef", "@C2D!"));
alert(match("abcdef", "CAfe"));
alert(match("abcdef", "CG"));

2 个答案:

答案 0 :(得分:0)

  1. 删除所有不是replace(/[^[A-Za-z]]/g, "")
  2. 字母的字符
  3. 使用String.prototype.split()
  4. 制作数组
  5. 使用Array.prototype.map()
  6. 浏览数组
  7. 检查每个字母(不区分大小写)是否在String.prototype.includes()的字符串中。返回bools。
  8. 如果每个bool都为true,则返回true,否则返回false。 (Array.prototype.every()
  9. function match(string, pattern) {
      return pattern.replace(/[^A-Za-z]/g, "").split("").map(ch => {
        return string.includes(ch.toLowerCase());
      }).every(bool => bool === true) ? true : false;
    }
    
    console.log(match("abcdef", "@C2D!"));
    console.log(match("abcdef", "CAfe"));
    console.log(match("abcdef", "CG"));

答案 1 :(得分:0)

您可以使用以下命令而不是遍历每个字符: string.indexOf(pattern); 其中检查字符串是否包含模式。