如何删除字符串中的空格而不是JavaScript中的换行符.我通过使用找到了C#的解决方案\t ,但JavaScript不支持它.
为了更清楚,这是一个例子:
var s = "this\n is a\n te st"
Run Code Online (Sandbox Code Playgroud)
使用regexp方法我期望它返回
"this\nisa\ntest"
Run Code Online (Sandbox Code Playgroud)
tKe*_*tKe 12
虽然在Javascript / /g中匹配\t,我发现它可以隐藏原始意图,因为它读取为空格字符的匹配.另一种方法是使用明确列出空白字符的字符集,不包括\n.即/[ \t\r]+/g.
var newString = s.replace(/[ \t\r]+/g,"");
Run Code Online (Sandbox Code Playgroud)
Rue*_*uel 11
这将是有效的,甚至可以\t.
var newstr = s.replace(/ +?/g, '');
Run Code Online (Sandbox Code Playgroud)
如果要\s匹配除换行符之外的每个空格字符,可以使用:
/[\t\v\f\r \u00a0\u2000-\u200b\u2028-\u2029\u3000]+/g
Run Code Online (Sandbox Code Playgroud)
请注意,这将删除回车符(\r),因此如果输入包含\r\n对,则它们将被转换为just \n.如果要保留回车符,只需\r从正则表达式中删除.
[^\S\r\n]+
Run Code Online (Sandbox Code Playgroud)
不是非空白字符,不是\r,不是\n;一个或多个实例。