我有一个单词计数器功能,但它不考虑使用不良标点符号的人,例如:
"hello.world"
那只会算作1个字。
相反,它应该算作 2 个单词。
因此,我需要一个正则表达式来替换逗号、句号和任何 1+ 的空格与单个空格。
这是我到目前为止所拥有的:
proWords = proWords.replace(/[,\s]/, '\s');
negWords = negWords.replace(/[,\s]/, '\s');
我有一个单词计数器功能,但它不考虑使用不良标点符号的人,例如:
"hello.world"
那只会算作1个字。
相反,它应该算作 2 个单词。
因此,我需要一个正则表达式来替换逗号、句号和任何 1+ 的空格与单个空格。
这是我到目前为止所拥有的:
proWords = proWords.replace(/[,\s]/, '\s');
negWords = negWords.replace(/[,\s]/, '\s');
替换只是一个普通的字符串,它不应该包含正则表达式转义序列,如\s
.
proWords = proWords.replace(/[,.\s]+/g, ' ');
正+
则表达式使其替换任何字符序列,并且您需要g
多次替换修饰符。
改变
proWords = proWords.replace(/[,\s]/, '\s');
negWords = negWords.replace(/[,\s]/, '\s');
到
proWords = proWords.replace(/[,\.\s]/, ' ');
negWords = negWords.replace(/[,\.\s]/, ' ');
这应该有效。