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

Javascript replace hex based on unique identifier

本文关键字:替换 十六进制 标识符 唯一 Javascript      更新时间:2023-09-26

如何获取像

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

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

假设您总是有2个字符十六进制代码,前面是字符~,那么/~[0-9A-F]{2}/i将给出匹配。
现在,如果我们全局匹配并附加一个函数来替换,我们可以使用基数/基数16解析整数,并从中生成一个字符(使用Object String的方法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')  );

希望这对你有帮助!