首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转义只知道其索引的字符

转义只知道其索引的字符
EN

Stack Overflow用户
提问于 2020-03-08 01:44:43
回答 1查看 44关注 0票数 0

我想转义一个\n字符,只知道它的索引。我并不是想替换字符本身,而是将转义字符“预先准备”到现有的\n中,有效地将其转义。

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

我要找的是\\n而不是\\\n

重申一下,我不想完全取代\n。我很清楚'\n'.replace('\n', '\\n')会做我想要做的事情。我只是想把转义字符加到现有的换行符上。是否有理由让JS在文字反斜杠前加上一个反斜杠,而不逃避换行符呢?

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

我想我想知道为什么新行的行为会有所不同。谢谢你的想法!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-08 01:52:47

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

代码语言:javascript
复制
for (const char of '\n') {
  console.log(char.charCodeAt());
}

实际上,这里没有n (或文字反斜杠)-- \n只是程序员使用和理解的引用换行符的惯例。如果字符串由文本反斜杠和文字n组成,则字符代码完全不同:字符代码为92 (用于反斜杠),字符代码为110 (用于n)。

代码语言:javascript
复制
for (const char of '\\n') {
  console.log(char.charCodeAt());
}

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60583814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档