[英]Regex to replace multiple characters
我有一个字计数器功能,但是它不能解决标点符号使用率不高的人的问题,例如:
“你好,世界”
那只能算作1个字。 而是应将其视为2个字。 这就是为什么我使用此RegEx;
negWords.replace(/[,.!?;\s]+/g,' ');
效果很好,但是如果人们使用双倍空格或标点符号,也可以将其视为单词。
“你好,”算作2个字,
但不会将出现的次数多于1个字。
'hello ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'仍然算作2个单词。
编辑更多上下文。
要从文字中获取文字,您可以
var words = text.split(/\W+/).filter(Boolean);
计数是words.length
。
这里的filter(Boolean)
调用从数组中删除空字符串。
+
符号表示它应接受组中每个字符中的一个或多个。 如果只想要一个,则需要删除+
。
negWords.replace(/[,.!?;\s]/g,' ');
如果要在任意数量的空格后捕获一个标点符号或空格,请尝试以下操作:
negWords.replace(/[,.!?;\s]\s*/g,' ');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.