JS 通过正则表达则替换多对字符

2022-3-29 17:06:47 [大杂烩 - PC与手机]

JS通过正则表达式一次性匹配多个值,并且替换为另一组值。使用replace方法中的function作为替换的表达式

如需要将字符串的英文标点替换为中文标点:“,.:;?!()”替换为“,。:;?!()”:


"嗨,你好!".replace(/([,\.:;\?!\(\)])/gi,function($0,$1){

return {

",":",",

".":"。",

"?":"?",

"!":"!",

":":":",

"(":"(",

")":")"

}[$1];

});


再如将“零一二三四五六七八九”替换为“0123456789”:


"第九条".replace(/([零一二三四五六七八九])/g, function(s){

return "零一二三四五六七八九".indexOf(s);

});