Javascript 根据唯一标识符替换十六进制

Javascript replace hex based on unique identifier

如何获取像

这样的字符串
John, Smith~2C John, Jones~2CMike

并将这些由 ~ 指示的十六进制值替换为对应的 ASCII 值?

假设您始终有 2 个 char 十六进制代码,前面是 char ~,那么 /~[0-9A-F]{2}/i 将给出一个匹配项。
现在,如果我们全局匹配并附加一个函数来替换,我们可以使用 radix/base 16 解析整数并从中生成一个字符(使用对象字符串的方法 fromCharCode)。只是不要忘记先去除尾随 ~ 字符。

这是一个帮助您入门的简短示例:

function demo(s){
  return s.replace(/~[0-9A-F]{2}/gi, function(m){
    return String.fromCharCode(parseInt(m.slice(1), 16));
  });
}

console.log( demo('John, Smith~2C John, Jones~2CMike')  );

希望对您有所帮助!