如何使用
之类的字符串John, Smith~2C John, Jones~2CMike
并用〜对应的〜替换〜表示的这些十六进制值?
答案 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') );
希望这有帮助!