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

时间:2018-01-08 07:00:58

标签: 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; // output 2
var num = string.match(/a/g).length; // output 4
var num = string.match(/./g).length; // output 60

有人可以指导我match函数不支持.的原因以及我如何计算它。我想要感激。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

你必须使用转义点。

var string = "How are you doing . - today? You . - are such a nice person!";
var num = string.match(/\./g).length; // output 60
console.log(num);

另一种方法是使用brackets

var num = string.match(/[.]/g).length; 

答案 2 :(得分:0)

逃离.



var string = "How are you doing . - today? You . - are such a nice person!";
var num = string.match(/\./g).length;
console.log(num);