Javascript基于唯一标识符替换hex

时间:2015-09-24 21:57:23

标签: javascript regex hex ascii

如何使用

之类的字符串
John, Smith~2C John, Jones~2CMike

并用〜对应的〜替换〜表示的这些十六进制值?

1 个答案:

答案 0 :(得分:2)

假设您总是有两个以~开头的字符十六进制代码,那么/~[0-9A-F]{2}/i会给出匹配。
现在,如果我们全局匹配并附加要替换的函数,我们可以使用radix / base 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')  );

希望这有帮助!