定义和用法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
我们常用的是:
使用replace进行字符替换,第二个参数传入替换的参数:
"yyyy-MM-dd".replace(/y+/g,"年")
// 年-MM-dd
其实replace的第二个参数可以传入一个回调函数
str.replace(ext, function(){})
参数分别为:
- 匹配到的字符串
- 如果正则使用了分组匹配就为多个,否则无此参数
-
回调函数返回替换的值,如果没有返回,默认为undefined
- 匹配字符串的对应索引位置
- 原始字符串
var str = "{y}-{m}-{d} {h}:{i}:{s} {a}".replace(/{(y|m|d|h|i|s|a)+}/g, function(a,b,c,d){
console.log(a,b,c,d)
})
//{y} y 0 {y}-{m}-{d} {h}:{i}:{s} {a}