gpt4 book ai didi

javascript - 转义只知道其索引的字符

转载 作者:行者123 更新时间:2023-12-02 21:32:39 24 4
gpt4 key购买 nike

我正在寻找转义仅知道其索引的 \n 字符。我并不是要替换字符本身,而是在现有的 \n 前面“添加”转义字符,从而有效地转义它。

例如,在 JavaScript 中:'\\' + '\n' === '\\\n'

我正在寻找的是 \\n 而不是 \\\n

重申一下,我不想完全替换 \n。我很清楚 '\n'.replace('\n', '\\n') 会做我正在寻找的事情。我只是想在现有换行符前面添加一个转义字符。 JS 是否有理由在前面添加反斜杠并且不转义换行符?

'\\' + '\'' === "\\'"

我想我想知道为什么换行符的行为不同。感谢您的任何想法!

最佳答案

不可能在字符前面添加反斜杠来转义它。例如,对于换行符,'\n' ,对于Javascript来说,这是一个包含一个字符代码的字符串:10。

for (const char of '\n') {
console.log(char.charCodeAt());
}

实际上并没有 n (也不是字面上的反斜杠)那里的任何地方 - \n只是程序员使用和理解的引用换行符的约定。如果字符串由文字反斜杠和文字 n 组成,字符代码完全不同:字符代码为 92(用于反斜杠)和字符代码 110(用于 n)。

for (const char of '\\n') {
console.log(char.charCodeAt());
}

您唯一的选择是用反斜杠和 n 完全替换文字换行符。 (使用 '\n'.replace('\n', '\\n') - 或者,对于更通用的解决方案,构造一个文字字符及其转义序列的 Map 或对象)

关于javascript - 转义只知道其索引的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60583814/

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