我有一个看起来像这样的字符串:
"Line 1\nLine 2"
但是当我对它进行长度调用时,它只有一个字符:
"Line 1\nLine 2".length // 13
仔细观察:
"Line 1\nLine 2".charAt(6)
我发现\n
被单个字符替换,如下所示:
"
"
有没有办法将新行转换为\n
?
答案 0 :(得分:6)
每当您使用Javascript来解释此字符串时,' \ n'将被渲染为换行符(这是一个单个字符,因此也就是长度。)
要将字符串用作文字反斜杠-n,请尝试使用另一个反斜杠转义反斜杠。像这样:
"Line 1\\nLine 2"
如果在创建字符串时无法执行此操作,则可以使用以下内容将一个字符串转换为另一个字符串:
"Line 1\nLine 2".replace(/\n/, "\\n");
如果您可能多次出现换行符,可以通过将正则表达式设为全局来一次性获取它们,如下所示:
"Line 1\nLine 2\nLine 3".replace(/\n/g, "\\n");
答案 1 :(得分:5)
\n
是换行符。您可以使用"Line 1\\nLine 2"
来逃避它。
请注意,新行的实际表示形式取决于系统,可能只有一个或两个字符:\r\n
,\n
或\r
答案 2 :(得分:0)
在JavaScript中,字符串文字中的反斜杠是escape code的开始,例如换行符的反斜杠n。但是,如果要在结果字符串中使用实际的反斜杠怎么办?转义代码之一是反斜杠反斜杠,表示实际的反斜杠。