You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript的match方法统计字符串中点的出现次数

使用match方法统计字符串中'.'的数量

嗨,这个问题我之前也碰到过!你用string.match(/\./)没成功,是因为默认的正则表达式只会匹配第一个符合条件的字符,不会遍历整个字符串找所有匹配项。

解决方法很简单,只需要给正则加上全局匹配标志g,这样match就会返回所有匹配到的.组成的数组,数组的长度就是你要的数量啦。

举个具体的例子,针对你的字符串:

const str = 'abcd.abcd..';
// 带全局标志的正则匹配
const dotMatches = str.match(/\./g);
// 统计数量,处理没有匹配到的情况(避免null.length报错)
const dotCount = dotMatches ? dotMatches.length : 0;
console.log(dotCount); // 输出 3

如果你用ES6+的语法,还可以简化成更简洁的写法:

const dotCount = str.match(/\./g)?.length || 0;

为什么之前的写法不行?因为不带g的match返回的是一个包含第一个匹配项、捕获组等信息的数组(或者null),而不是所有匹配结果。加上g之后,它才会返回所有匹配到的字符组成的数组,这时候取长度就准确了。

对比你用的split(".").length - 1方法,match的方式更直观,直接针对目标字符进行匹配统计,逻辑上更清晰~

内容的提问来源于stack exchange,提问作者blackdream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:01:13