我有一個字符串,它看起來是這樣的:逃生新線與JS
"Line 1\nLine 2"
當我調用它的長度,但是,它的一個字符短:
"Line 1\nLine 2".length // 13
尋找一點點接近:
"Line 1\nLine 2".charAt(6)
我發現\n
是由單個字符,它看起來像代替:
"
"
有沒有辦法將該新行轉換爲\n
?
我有一個字符串,它看起來是這樣的:逃生新線與JS
"Line 1\nLine 2"
當我調用它的長度,但是,它的一個字符短:
"Line 1\nLine 2".length // 13
尋找一點點接近:
"Line 1\nLine 2".charAt(6)
我發現\n
是由單個字符,它看起來像代替:
"
"
有沒有辦法將該新行轉換爲\n
?
每當你得到Javascript來解釋這個字符串中,「\ n'將被渲染爲換行符(這是一個單個字符,因此是長度)。
要將該字符串用作文字反斜槓-n,請嘗試使用另一個字符轉義反斜槓。像這樣:
"Line 1\\nLine 2"
如果你不能做到這一點創建字符串時,你可以把一個串到另一個與此:
"Line 1\nLine 2".replace(/\n/, "\\n");
如果可能的多次出現換行符,你可以通過使正則表達式全局一次得到它們,像這樣:
"Line 1\nLine 2\nLine 3".replace(/\n/g, "\\n");
\n
是換行符。您可以使用"Line 1\\nLine 2"
來轉義它。
請記住,一個新的生產線的實際表現取決於系統和可能很長一個或兩個字符:\r\n
,\n
,或\r
如果操作系統使用不同的換行符,則不起作用。 – 2016-02-03 13:53:03
這不是我所觀察到的。 您能否提供重現您可能遇到的任何故障的步驟? 運行Javascript的環境將特定操作系統的底層實現細節抽象出來。確實隱喻有時會「泄漏」,但在這種情況下,Windows和Linux上的Firefox和Node都不會發生這種情況。 – 2016-02-03 16:49:01
此功能:https://github.com/boris-marinov/monad-transformers/blob/master/tutorial/p3.js#L153 – 2016-03-03 15:17:10