我有一个字符串,它看起来是这样的:逃生新线与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