正则表达式删除空格,除了回车

时间:2013-12-12 19:02:31

标签: javascript regex

我有这个regex剥去额外的空白区域,但问题是它摆脱了回车。 var str = str.replace(/\s{2,}/g, " ")

如何在保留回车的同时摆脱那些空白空间?
谢谢

3 个答案:

答案 0 :(得分:3)

也许是这样的:

var str = str.replace(/((?!\r)\s){2,}/g, " ")

或者如果你想保留回车和换行符,这样的东西就可以了:

var str = str.replace(/((?![\r\n])\s){2,}/g, " ")

答案 1 :(得分:2)

明确指定空格字符集:

> '1    \r\n    2    \r\n'.replace(/[ \t\f\v]{2,}/g, ' ')
"1 
 2 
"

答案 2 :(得分:1)

使用此正则表达式仅将多个空格修剪为一个:

str = str.replace(/ {2,}/g, " ");

\s匹配空格,制表符和换行符。