Javascript 如何计算字符串中某个字符的出现次数,而不是其中一个?
我有一个字符串,我需要检查字符出现的次数Javascript 如何计算字符串中某个字符的出现次数,而不是其中一个?,javascript,Javascript,我有一个字符串,我需要检查字符出现的次数 var obj = "str one,str two,str three,str four"; 我正在尝试这样的事情:- console.log(("str one,str two,str three,str four".match(new RegExp("str", "g")) || []).length); 它返回4 这很好用 但我的条件是我不必从该字符串中检查str three,因此输出应该是3 帮我找到这个问题的解决办法 谢谢将字符串拆
var obj = "str one,str two,str three,str four";
我正在尝试这样的事情:-
console.log(("str one,str two,str three,str four".match(new RegExp("str", "g")) || []).length);
它返回4
这很好用
但我的条件是我不必从该字符串中检查str three,因此输出应该是3
帮我找到这个问题的解决办法
谢谢将字符串拆分为一个数组,然后计算
var numMatches = obj.split(',').filter(function(str) {
return el !== 'str three' && el.match(/str/);
}).length
或者,如果您想从regexp中获得乐趣,可以使用负面展望
var numMatches = obj.match(/(?!str three)str/g).length;
var string=“str1、str2、str3、str4”;
变量计数=(string.match(/str[0-24-9]/g)| |[])长度;
控制台日志(计数)//3.
var string=“str一、str二、str三、str四”;
变量计数=(string.match(/str(?!three)/g)| |[])长度;
控制台日志(计数)//3
您想要所有str[number]的出现,但不想要str3?是,但不想要str3@MarcosCasagrande我只是更新了我的问题,你能看一下吗我只是更新了我的问题,你能看一下吗我只是更新了我的问题,你能看一下吗非常感谢你的帮助它很好,但是如果我像那样(/str(?!three)/g)改成(/(?!three)str/g)您的实际字符串是什么,因为对于您给定的字符串,我的正则表达式确实可以工作,正如您在示例中所看到的;)我的实际字符串是pick,而不是pick,pick,INSTALL;;所以我只需要选择计数。我明白了,这就是为什么我说不要忘记发布您的实际字符串,因为正则表达式可能完全不同;)