为了账号安全,请及时绑定邮箱和手机立即绑定

计算Javascript中字符串中出现的字符数

计算Javascript中字符串中出现的字符数

POPMUISE 2019-06-27 17:20:53
计算Javascript中字符串中出现的字符数我需要计算字符串中出现的字符数。例如,假设我的字符串包含:var mainStr = "str1,str2,str3,str4";我要找到逗号的计数,字符,为3,以及逗号分隔后的单个字符串数,即4。我还需要验证每个字符串,即str1或str2、str3或str4不应超过15个字符。
查看完整描述

3 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我更新了这个答案。我更喜欢使用匹配的想法,但速度更慢:

console.log(("str1,str2,str3,str4".match(/,/g) || []).length); //logs 3console.log(("str1,str2,str3,str4".match(new RegExp("str", "g")) || []).length); //logs 4

小提琴

如果您事先知道要搜索什么,请使用正则表达式文字,如果不知道,则可以使用RegExp构造函数,并传入g标志作为论据。

match回报null没有结果,因此|| []

我在2009年所作的最初回答如下。它不必要地创建一个数组,但是使用拆分更快(截至2014年9月)。我很矛盾,如果我真的需要这样的速度,毫无疑问,我会使用分割,但我更喜欢使用匹配。

旧答案(从2009年起):

如果你在找逗号:

(mainStr.split(",").length - 1) //3

如果你要找的是

(mainStr.split("str").length - 1) //4

无论是在@LO的回答中还是在我自己的愚蠢中jsperf试验Split在速度上领先,至少在Chrome中是这样,但是再一次创建额外的数组看起来并不明智。


查看完整回答
反对 回复 2019-06-27
  • 3 回答
  • 0 关注
  • 446 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信