我需要计算一个字符在一个字符串中出现的次数。
例如,假设我的字符串包含:
var mainStr = "str1,str2,str3,str4";
我想找到逗号,字符的数量,即3。以及沿逗号分割后的各个字符串的数量,即4。
,
我还需要验证每个字符串,即str1或str2或str3或str4不应超过15个字符。
我已经更新了这个答案。我喜欢更好地使用比赛的想法,但是比较慢:
console.log(("str1,str2,str3,str4".match(/,/g) || []).length); //logs 3 console.log(("str1,str2,str3,str4".match(new RegExp("str", "g")) || []).length); //logs 4
如果您事先知道要搜索的内容,则使用正则表达式文字;如果不知道,则可以使用RegExp构造函数,并将该g标志作为参数传递。
RegExp
g
match返回null没有结果,因此|| []
match
null
|| []
我在2009年的原始答案如下。它不必要地创建数组,但使用拆分速度更快(截至2014年9月)。我很矛盾,如果我真的需要速度,那我毫无疑问会使用拆分,但我更喜欢使用match。
旧答案:
如果要查找逗号:
(mainStr.split(",").length - 1) //3
如果您正在寻找str
(mainStr.split("str").length - 1) //4