replace可以传入两个参数replace(‘要替换的值’, ‘替换成的值’)
replace两个参数中的第一个参数可以是一个字符串,也可以是一个正则表达式
replace方法返回一个新的字符串,原始字符串本身并不会改变。
var str = "1 2 3 4 5";
var newStr = str.replace(/ /g, "-");
console.log(newStr); // 输出 "1-2-3-4-5"
// 替换字符串中的单词
var str = "Hello world!";
var newStr = str.replace("world", "JavaScript");
console.log(newStr); // 输出 "Hello JavaScript!"
// 使用正则表达式进行全局替换
var str = "1 2 3 4 5";
var newStr = str.replace(/\d+/g, "X");
console.log(newStr); // 输出 "X X X X X"
1.如果第一个参数是一个字符串, 则遇到匹配的字符就会执行替换,并且不会再继续执行替换了
let str = 'Hello _小明_ll_18'
str.replace('l', '**') // 'He**lo _小明_ll_18'
2.第一个字符可以是一个正则表达式来进行全部匹配替换
let str = 'Hello _小明_ll_18'
str.replace(/l/g, '**') // 'He****o _小明_****_18'
3.第二个参数也可以是一个函数, 参数是匹配到的值,需要返回值,返回值就是替换的内容
let str = 'Hello _小明_ll_18'
str.replace(/ll/g, (matched) => {
console.log(matched) // matched是匹配到的值ll 匹配到一次就会执行一次
return '@@'
}) // 'He@@o _小明_@@_18'