js-字符串方法replace() 方法(字符串中查找一个匹配项,并用新的子串替换找到的匹配项)

1.基本语法

        在JavaScript中,replace() 方法是一个非常强大的字符串方法,它用于在字符串中查找一个匹配项,并用新的子串替换找到的匹配项。这个方法的基本语法如下: 

str.replace(searchValue, replaceValue)
  • earchValue:一个字符串或者正则表达式,表示要查找的内容。
  • replaceValue:一个字符串或者一个函数,表示要替换成的新内容。如果是一个字符串,则$字符有特殊含义(比如$&表示匹配到的子串,$'表示匹配子串之前的文本,$'(注意这里有一个笔误,实际应该是$'即反引号后接一个单引号,但此处应为解释说明故未修正)不直接用于此,但$1$2...表示与正则表达式中的捕获组相匹配的文本)。如果是一个函数,则这个函数会被调用,并且其返回值将作为替换字符串。函数的参数是匹配到的匹配项和任何捕获的括号内的文本(如果有的话),以及匹配项在字符串中的索引和原始字符串本身。

2.使用字符串作为替换值 

let str = "Hello, world!";  
let newStr = str.replace("world", "JavaScript");  
console.log(newStr); // 输出: Hello, JavaScript!

3.使用正则表达式和特殊替换模式 

let str = "Hello, world!";  
let newStr = str.replace(/(\w+)\s*,\s*(\w+)!/, "$2, $1!");  
console.log(newStr); // 输出: world, Hello!

4. 使用函数作为替换值

let str = "Apples are round, and apples are juicy.";  
let newStr = str.replace(/apples/gi, function(match) {  
  return match.toUpperCase();  
});  
console.log(newStr); // 输出: APPLES are round, and APPLES are juicy.

在这个例子中,每当找到匹配项apples(不区分大小写,因为使用了i标志),就会调用提供的函数,并传入匹配项作为参数。函数的返回值(这里是匹配项的大写形式)会被用作替换字符串。

注意

  • replace() 方法默认只替换第一个匹配项,除非使用了全局标志(g)的正则表达式。
  • 当使用函数作为替换值时,该函数会针对每个匹配项被调用一次,这提供了很大的灵活性。
  • 特殊替换模式(如$&$'$1等)只在使用字符串作为替换值时有效。如果使用函数,则需要通过函数的参数来获取这些信息。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值