gpt4 book ai didi

javascript - 在 javascript 中替换换行字符串文字 - '\n'

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:50 24 4
gpt4 key购买 nike

我在变量中有字符串文字,\n。我正在尝试用空字符串替换它。但它不起作用。

var value = "\\\n"
value = value.replace(/(?:\\[rn])+/g, "")
console.log(value)

value 计算为字符串文字 - \n。我希望 console.log 没有输出。但是它打印

\

空行后跟一个反斜杠(出于某种原因,堆栈溢出已经删除了上面输出中的空行)。

请注意,此问题与替换换行符无关 -\n

最佳答案

I have string literal, \n in a variable

不,你不知道。您有 \(newline),这是完全不同的事情。

var value = "\\\n"

value 是一个长度为 2 的字符串。第一个字符是反斜杠。第二个字符是换行符。

value = value.replace(/(?:\\[rn])+/g, "")

您的正则表达式尝试替换后跟字母 r 或字母 n 的文字反斜杠。但是您的输入在第二个位置包含换行符。换行符既不匹配 r 也不匹配 n。因此,没有任何内容被替换,value 保留其原始值。

为了更清楚地看到这一点:

> for (i = 0; i < value.length; i++) console.log(value.charCodeAt(i));
< 92
< 10 // this is a newline

您可能对 Chrome devtools 控制台中的一些非直观行为感到困惑。 console.log('\n') 按预期打印空行。但是,console.log('a\n') 仅打印 a,没有明显的换行符。换句话说,Chrome devtools(以及 FF)在某些情况下似乎会抑制最后的尾随换行符。

关于javascript - 在 javascript 中替换换行字符串文字 - '\n',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com