Javascript-如何检查字符串是否包含转义序列
我有一个字符串,让我们说:Javascript-如何检查字符串是否包含转义序列,javascript,string,hex,Javascript,String,Hex,我有一个字符串,让我们说: let b = "\x41"; 如果b包含\x,我如何使用javascript进行检查?您无法取回字符串或搜索\x,因为它是for \xXX …其中XX正好是00–FF范围内的2个十六进制数字;e、 例如,\x0A与\n(换行符)相同\x21是“!” U+0000和U+00FF之间的Unicode代码点(基本拉丁语和拉丁语-1补充块;等同于ISO-8859-1) 结果是一个普通字符串,包含没有转义序列的字符 let b=“\x41”; 控制台日
let b = "\x41";
如果
b
包含\x
,我如何使用javascript进行检查?您无法取回字符串或搜索\x
,因为它是for
\xXX
…其中XX正好是00–FF范围内的2个十六进制数字;e、 例如,\x0A
与\n(换行符)相同<代码>\x21是“!”
U+0000和U+00FF之间的Unicode代码点(基本拉丁语和拉丁语-1补充块;等同于ISO-8859-1)
结果是一个普通字符串,包含没有转义序列的字符
let b=“\x41”;
控制台日志(b);
log(JSON.stringify(b))代码>要测试转义序列,需要原始字符串
我真想知道为什么我在这里得到的不是0而是1
const b=String.raw`\x41`;
console.log(JSON.stringify(b),“\\\\x”,JSON.stringify(b).indexOf(“\\\\x”)
\x41
在浏览器中测试此代码时,似乎是字母A
。您无法检查b
是否有转义序列,因为JavaScript会自动将\x41
转换为字母A
。但是,您可以检查b
是否包含字母A
let b=“\x41”;
b、 指数(A)!=-1//检查b是否包含“A”
//返回true
b、 indexOf(“\x41”)!=-1//检查b是否包含转义序列“\x41”
//返回true
“A”.indexOf(“\x41”)!=-1//检查字符串“A”是否包含转义序列“\x41”
//返回true
没有要测试的转义序列。b
的内容只是一个大写的a
(“\x41”==“a”//true)
我很确定这是真的。目标是什么?你到底想做什么?字符串不包含“转义序列”。这个词没有任何意义。字符串只有一些内容。其中一些内容可以表示为字符串文字中的转义序列,但字符串文字不是最终内容<代码>“a”
只创建一个包含内容a
的字符串。与“\x61”
相同。就像“\a”
一样。但是没有创建内容的向后映射。@Andreas这个问题很难搜索b
将\\x41
。这如何等同于OP中的\x41
?从一开始就是\x41,字符串化将显示that@mplungjan谢谢,这帮了大忙。