JavaScript:如何在现有多字符替换代码中添加空格转短横线逻辑?
字符串多字符替换优化方案
你的现有代码已能处理指定特殊字符的替换,若要同时实现空格替换为-,只需调整正则表达式,将空格纳入匹配范围即可,以下是两种修改方式:
原代码
var replaceChars = { ' ':'-', 'ń':'n', 'ó':'o', 'ż':'z', 'ą':'a' }; var answerStrUrl = answerStr.replace(/ń|ó|ż|ą/g,function(match) {return replaceChars[match];}).toLowerCase();
修改方式一:扩展正则匹配项
var replaceChars = { ' ':'-', 'ń':'n', 'ó':'o', 'ż':'z', 'ą':'a' }; var answerStrUrl = answerStr.replace(/ |ń|ó|ż|ą/g,function(match) {return replaceChars[match];}).toLowerCase();
修改方式二:使用字符集简化正则
var replaceChars = { ' ':'-', 'ń':'n', 'ó':'o', 'ż':'z', 'ą':'a' }; var answerStrUrl = answerStr.replace(/[ńóżą ]/g,function(match) {return replaceChars[match];}).toLowerCase();
说明
将空格加入正则匹配规则后,replace方法会对所有匹配到的目标字符(包括空格),自动从replaceChars对象中取出对应替换值,一次完成所有字符替换需求。第二种字符集写法更简洁,功能与前者完全一致,推荐使用。
内容的提问来源于stack exchange,提问作者Doodled
相关产品推荐
相关产品推荐

