我似乎无法让它工作,它一直返回 null。我需要一种非常简单的方法来计算字符串中引号的数量。
var wtf = '"""'
var count = wtf.match(/"/g);
alert(count);
这有同样的问题。
var count = tableitems[i].match(/\"/g);
alert(count);
我似乎无法让它工作,它一直返回 null。我需要一种非常简单的方法来计算字符串中引号的数量。
var wtf = '"""'
var count = wtf.match(/"/g);
alert(count);
这有同样的问题。
var count = tableitems[i].match(/\"/g);
alert(count);
match
不返回计数但匹配本身。你想要你的比赛的长度:
var wtf = '"""'
var matches = wtf.match(/"/g);
var count = matches ? matches.length : 0;
最后一行的意思是:“如果有匹配,则计算它们,如果没有则返回零”
在您的第一个示例中,count
是匹配数组。要查看有多少,请执行
alert(count ? count.length : 0) // count is null if there are no matches
如果您正在考虑进行切换 (:P),coffeescript 有一个很好的方法来处理这种情况:
wtf = '"""'
count = wtf.match(/"/g)?.length;
如果没有匹配,count 将为undefined
,否则为匹配数。
你可以这样做:
const countDoubleQuotes = wtf => wtf.split('"').length - 1;
console.log(countDoubleQuotes('"')); // expected 1
console.log(countDoubleQuotes('"Hello world"')); // expected 2
console.log(countDoubleQuotes('"""')); // expected 3
console.log(countDoubleQuotes('_"_')); // expected 1