如何在 Javascript 中的字符串上每 2 个单词后添加“\x”?

问题描述

我想在字符串的每 2 个字符之后以及开头添加“\x”。例如,字符串 596d396962334a76 将变为 \x59\x6d\x39\x69\x62\x33\x4a\x76

我试过这个代码"596d396962334a76".match(new RegExp('.{1,2}','g')).join("/");,但它给出了这个错误Uncaught SyntaxError: Invalid hexadecimal escape sequence

解决方法

您可以使用 .match 代替 .replace

var s = '596d396962334a76';

var r = s.replace(/../g,'\\x$&');

console.log(r);

RegEx Demo

这里我们使用 /../g 正则表达式匹配任意 2 个字符,并使用替换表达式在每个匹配之前附加 \x\\x$&