如何删除字符串中的空格而不是JavaScript中的换行符。我使用\t
找到了C#的解决方案,但JavaScript不支持它。
为了更清楚,这是一个例子:
var s = "this\n is a\n te st"
使用regexp方法我希望它返回
"this\nisa\ntest"
答案 0 :(得分:10)
虽然在Javascript / /g
中匹配\t
,但我发现它可以隐藏原始意图,因为它读取为空格字符的匹配项。另一种方法是使用明确列出空白字符的字符集,不包括\n
。即/[ \t\r]+/g
。
var newString = s.replace(/[ \t\r]+/g,"");
答案 1 :(得分:8)
即使在\t
上也可以。
var newstr = s.replace(/ +?/g, '');
答案 2 :(得分:6)
如果你想匹配\s
匹配除换行符之外的每个空白字符,你可以使用它:
/[\t\v\f\r \u00a0\u2000-\u200b\u2028-\u2029\u3000]+/g
请注意,这将删除回车符(\r
),因此如果输入包含\r\n
对,则它们将转换为\n
。如果要保留回车符,只需从正则表达式中删除\r
。
答案 3 :(得分:3)
[^\S\r\n]+
不是非 -whitespace字符,不是\r
而不是\n
;一个或多个实例。
答案 4 :(得分:2)
试试这个
var trimmedString = orgString.replace(/^\s+|\s+$/g, '') ;
答案 5 :(得分:0)
这就是诀窍:
str.replace(/ /g, "")
且空格与标签或换行符(CHROME45)不匹配,全局替换时不需要加号或问号。
在Perl中你有"水平空格"简写\ h在换行符和空格之间去做,但遗憾的是不在JavaScript中。
另一方面,\ t的简写是在JavaScript中支持的,但它仅描述了制表符。
答案 6 :(得分:0)
const str = "abc def ghi";
str.replace(/\s/g, "")
-> "abcdefghi"
答案 7 :(得分:0)
df
title genre_name genre_ids
0 a1 ['family', 'animation'] [1,2]
1 a2 ['action', 'family', 'comedy'] [3,1,4]
2 a3 ['family', 'comedy'] [1,4]
3 a4 ['horror','action] [5,3]
4 a5 ['family', 'animation','comedy'] [1,2,4]
为我工作的文字如下:
code.replace(/^\s[^\S]*/gm, '')
并删除前3行之前的空格/制表符,并删除该行中的空格。
* @ Toto的优化:
#set($todayString = $util.time.nowEpochMilliSeconds())
#set($pk = $util.autoId())
$util.qr($ctx.stash.put("postId", $pk))
答案 8 :(得分:-1)
试试这个'/^\\s*/'