JS的replace字符串替换详解
定义
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法
stringObject.replace(regexp/substr,replacement)
参数 | 描述 |
regexp/substr | 必需。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 |
replacement | 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 |
实例
1. 将"www.ccued.com" 中的 ccued 换成 lenton
'www.ccued.com'.replace('ccued','lenton') //"www.lenton.com"
2. 将"www.ccued.com"中的所有"c"换成 a
'www.ccued.com'.replace(/c/g,'a'); //"www.aaued.aom"
3.将"www.ccued.com"中的 w 换成 W,c换成C ,第二个参数为回调函数,将返回值做为替换内容
'www.ccued.com'.replace(/w|c/g,function(i){ return i.toLocaleUpperCase(); }); //"WWW.CCued.Com"
4.将"1,3,5,7"转为"1个人,3个人,5个人,7个人"。 每个( )为一组,$1,$2,$3...依次对应代表匹配的内容
'1,3,5,7'.replace(/(\d)/g,'$1个人'); //"1个人,3个人,5个人,7个人"
5.按"yyyy" "mm" "dd"加分隔符格式化当前时间,实用进阶玩法
function fDate(fs){ fs = fs || 'yyyy-mm-dd'; let d = new Date(); let dateObj = { 'yyyy':d.getFullYear(), 'mm':d.getMonth()+1, 'dd':d.getDate() }; return fs.replace(/yyyy|mm|dd/g,(item)=>{ return dateObj[item]; }); } fDate(); //"2018-10-29" fDate('yyyy/mm/dd'); //"2018/10/29"
2018-10-19 12:08:37
2343
0
参与讨论