3

我有一个单词计数器功能,但它不考虑使用不良标点符号的人,例如:

"hello.world"

那只会算作1个字。

相反,它应该算作 2 个单词。

因此,我需要一个正则表达式来替换逗号、句号和任何 1+ 的空格与单个空格。

这是我到目前为止所拥有的:

proWords = proWords.replace(/[,\s]/, '\s');

negWords = negWords.replace(/[,\s]/, '\s');
4

2 回答 2

5

替换只是一个普通的字符串,它不应该包含正则表达式转义序列,如\s.

proWords = proWords.replace(/[,.\s]+/g, ' ');

+则表达式使其替换任何字符序列,并且您需要g多次替换修饰符。

于 2013-09-02T08:55:48.430 回答
0

改变

proWords = proWords.replace(/[,\s]/, '\s');

negWords = negWords.replace(/[,\s]/, '\s');

proWords = proWords.replace(/[,\.\s]/, ' ');

negWords = negWords.replace(/[,\.\s]/, ' ');

这应该有效。

于 2013-09-02T08:55:46.410 回答