标题可能没什么意义,所以让我说清楚:
我想要捕捉不重复一次或三次的空格字符。并且不用任何东西替换它们。
例如,这个;
'the quick brown fox jumps over the lazy dog'
会成为这个;
'the quick brown fox jumps over the lazy dog'
目前我用split
字符串三个空格,然后用一个空格清理空索引。
答案 0 :(得分:3)
匹配2个空格或4个以上的空格,周围有单词边界:
newstr = str.replace(/\b(\s\s|\s{4,})\b/g, ' ');
\b
匹配单词边界,这将使\s\s
不匹配3个字符序列中的两个空格。
g
修饰符使其替换输入字符串中的所有匹配项。
答案 1 :(得分:1)
您可以使用replace
:
var str = 'the quick brown fox jumps over the lazy dog';
var res = str.replace(/\b\s{2}\b|\b{4,}\b/g, " ");
正则表达式/ {4,}/i
将匹配4个或更多空格。\s{2}
匹配2个空格。