Javascript 我如何计算字符串中的点?

Javascript 我如何计算字符串中的点?,javascript,Javascript,我正在尝试计算字符串中的点。我正在尝试使用match()函数计算点,但它不起作用 我试着用同样的脚本计算其他字符串、字母和正常工作的-。我有下面的字符串 var string = "How are you doing . - today? You . - are such a nice person!"; 我试着按照剧本做 var num = string.match(/-/g).length; // output 2 var num = string.match(/are/g).length

我正在尝试计算字符串中的点
。我正在尝试使用
match()
函数计算点,但它不起作用

我试着用同样的脚本计算其他字符串、字母和正常工作的
-
。我有下面的字符串

var string = "How are you doing . - today? You . - are such a nice person!";
我试着按照剧本做

var num = string.match(/-/g).length; // output 2
var num = string.match(/are/g).length; // output 2
var num = string.match(/a/g).length; // output 4
var num = string.match(/./g).length; // output 60

有人能告诉我为什么
match
函数不支持
,以及我如何计算它吗。我想感谢你

点是正则表达式中的一个特殊字符,它与任何字符都匹配

您必须使用转义圆点

var string=“你好。-今天?你。-真是个好人!”;
var num=string.match(/\./g).length;//产出60

console.log(num)
用于正则表达式中并匹配单个字符,而不考虑哪个字符。您需要转义点,如
string.match(/\./g).length
\
是转义,表示将点视为真正的
,而不是特殊的正则表达式含义。

转义

var string=“你好。-今天?你。-真是个好人!”;
var num=string.match(/\./g).length;

console.log(num)
Dot在正则表达式中有特殊含义,它与任何字符都匹配。逃离点
string.match(/\./g).length
@gurvinder372对我有用谢谢+1你可以使用这个技巧
string=“你好。-今天?你。-真是个好人!”;console.log(string.split('.').length)
@Mr.Developer,或者在我的回答中使用
括号
。它是空字符串安全的吗?空字符串,是的。如果字符串为空,则需要检查
string!=null
首先要避免NPE。