【问题标题】:insert variable via forEach into regex expression [duplicate]通过forEach将变量插入正则表达式[重复]
【发布时间】:2018-10-02 18:25:42
【问题描述】:

如下所示,我试图计算字符串 J 中的一个字符在字符串 S 中出现的次数。唯一的问题是我不能将 forEach 循环中的参数 o 放入正则表达式中,如图所示在 console.log 中。

var numJewelsInStones = function(J, S) {
    let jArr = J.split('');
    let sArr = S.split('');

    jArr.forEach(o=>{
    console.log(S.replace(/[^o]/g,"").length);      
    })
};

numJewelsInStones("aA", "aAAbbbb");

【问题讨论】:

    标签: javascript node.js regex ecmascript-6 frontend


    【解决方案1】:

    您可以使用传递字符串参数的构造函数创建正则表达式:

    new RegExp('[^' + o + ']', 'g')
    

    您的替换逻辑可能如下所示:

    S.replace(new RegExp('[^' + o + ']', 'g'), '')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 2017-11-04
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多