2012-01-17 177 views

回答

0

試試這個,而不是

return str.replace(/(\r\n|\n|\r)*$/, breakTag) 

(我用的$字符串的結尾匹配)

+1

沒有必要逃避使用正則表達式文本時,「\」字符;事實上,如果模式擬匹配的是回車換行對,則顯然是錯誤的。你也把第二個參數放在'.replace()'中。 – Pointy 2012-01-17 17:39:26

+0

爲真。這一切都是因爲我害怕逃跑......我編輯過,謝謝 – fcalderan 2012-01-17 17:44:00

1

你的模式的第一部分匹配任何單個字符這>或回車或換行,但不會將其添加回結果字符串。因此它總是吃掉換行前的最後一個字符。

嘗試:

return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, "$1" + breakTag); 
+0

+1似乎這是最好的解決方案 – Christopher 2012-01-17 17:56:13

+0

謝謝你! :-) – ebsp 2012-01-17 21:25:31

相關問題