我想用一個空格來代替單一的新線一樣,如果我有字符串是這樣的:刪除的單層新線
"foo\nbar\nbaz\n\nquux"
我想有
"foo bar baz\n\nquux"
我已經試過這正則表達式: /\n(?!\n)/
,但它不起作用,它將替換單個新的空白行,但也有一個新的行後有新行。
我想用一個空格來代替單一的新線一樣,如果我有字符串是這樣的:刪除的單層新線
"foo\nbar\nbaz\n\nquux"
我想有
"foo bar baz\n\nquux"
我已經試過這正則表達式: /\n(?!\n)/
,但它不起作用,它將替換單個新的空白行,但也有一個新的行後有新行。
試試這個:
"foo\nbar\nbaz\n\nquux".replace(/([^\n])\n(?!\n)/g,"$1 ")
你原來是在對跳過第一\n
,然後替換第二(因爲它後面沒有\n
)。您需要檢查它沒有\n
之後或之前它。 $1
將匹配的非換行符放回。不幸的是,JavaScript不支持非消耗的後視。
@ochi如何運作的?所做的只是匹配兩條新線。 – d0nut
@ochi這將匹配兩條換行符,我想匹配一條。 – jcubic
抱歉誤讀了這個問題,刪除了評論 – ochi