JS通过正则表达式一次性匹配多个值,并且替换为另一组值。使用replace方法中的function作为替换的表达式
如需要将字符串的英文标点替换为中文标点:“,.:;?!()”替换为“,。:;?!()”:
"嗨,你好!".replace(/([,\.:;\?!\(\)])/gi,function($0,$1){
return {
",":",",
".":"。",
"?":"?",
"!":"!",
":":":",
"(":"(",
")":")"
}[$1];
});
再如将“零一二三四五六七八九”替换为“0123456789”:
"第九条".replace(/([零一二三四五六七八九])/g, function(s){
return "零一二三四五六七八九".indexOf(s);
});