我想用一个空格替换单个新行,就好像我有这样的字符串:
"foo\nbar\nbaz\n\nquux"
我想要
"foo bar baz\n\nquux"
我已经尝试过这个正则表达式:/\n(?!\n)/
但它不能用空格替换单个新行,而且还有一个新行后面有新行。
答案 0 :(得分:5)
试试这个:
"foo\nbar\nbaz\n\nquux".replace(/([^\n])\n(?!\n)/g,"$1 ")
您的原始文件正在跳过对中的第一个\n
,然后替换第二个(因为它后面没有\n
)。您需要在之后或之前检查它没有\n
。 $1
将匹配的非换行符放回。不幸的是,javascript不支持非消费的后视。
答案 1 :(得分:1)