猿问

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

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

我需要计算字符串中出现的字符数。

例如,假设我的字符串包含:

var mainStr = "str1,str2,str3,str4";

我要找到逗号的计数,字符,为3,以及逗号分隔后的单个字符串数,即4。

我还需要验证每个字符串,即str1或str2、str3或str4不应超过15个字符。


POPMUISE
浏览 448回答 3
3回答

沧海一幻觉

我更新了这个答案。我更喜欢使用匹配的想法,但速度更慢: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中是这样,但是再一次创建额外的数组看起来并不明智。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答