我正在尝试计算字符串中点.
的数量。我正在尝试使用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
函数不支持.
的原因以及我如何计算它。我想要感激。
答案 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);