在一个替换呼叫中替换多个字符非常简单的小问题,但我不太明白该怎么做。我需要用空格替换'_'的每个实例,并且'#'的每个实例都没有/空。var string = '#Please send_an_information_pack_to_the_following_address:';我试过这个:string.replace('#','').replace('_', ' ');我不是真的链接这样的命令,但还有另一种方法可以做到这一点吗?
3 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
使用OR运算符(|
):
var str = '#this #is__ __#a test###__';str.replace(/#|_/g,''); // result: "this is a test"
您还可以使用字符类:
str.replace(/[#_]/g,'');
小提琴
如果你想用一个东西替换散列而用另一个东西替换下划线,那么你只需要链接。但是,您可以添加原型:
String.prototype.allReplace = function(obj) { var retStr = this; for (var x in obj) { retStr = retStr.replace(new RegExp(x, 'g'), obj[x]); } return retStr;};console.log('aabbaabbcc'.allReplace({'a': 'h', 'b': 'o'}));// console.log 'hhoohhoocc';
为什么不连锁?我认为没有错。
添加回答
举报
0/150
提交
取消