我需要计算字符串中某个字符出现的次数
例如,假设我的字符串包含:
var mainStr=“str1、str2、str3、str4”;
我想找到逗号,字符的计数,它是3。以及沿逗号拆分后的单个字符串的计数,即4
我还需要验证每个字符串,即str1或str2或str3或str4,不应超过15个字符
我已经更新了这个答案。我更喜欢使用火柴,但速度较慢:
console.log(((“str1、str2、str3、str4.match(/,/g)| |[])length)//日志3
log(((“str1,str2,str3,str4.match(新的RegExp(“str”,“g”)))| |[])长度)//日志4
如果事先知道要搜索的内容,请使用正则表达式文字;如果不知道,则可以使用RegExp构造函数,并将g标志作为参数传递
match返回null而没有结果,因此| |[]
我在2009年给出的最初答案如下。它不必要地创建了一个数组,但是使用拆分更快(截至2014年9月)。我很矛盾,如果我真的需要速度,毫无疑问我会使用分割,但我更喜欢使用匹配
旧答案(2009年起):
如果您正在查找逗号:
(主干拆分(";,";).length-1)//3
如果你在找str
(主体拆分(";str";).length-1)//4
在@Lo的回答和我自己愚蠢的jsperf测试中,至少在Chrome中,split在速度上领先,但再次创建额外的数组似乎并不明智