replace() 替换的整理

本文深入解析了JavaScript中字符串方法replace()的功能与用法,包括如何使用正则表达式和回调函数进行复杂的字符串替换操作,以及特殊变量名的使用技巧。

JS 字符串方法replace() 替换的整理

字符串方法 replace() 不仅可以用字符串替换原字符串的子串,还可以用回调函数来生成替换子串。

replace() 方法返回一个由替换值(replacement)替换一些或所有匹配的模式(pattern)后的新字符串。

// 语法:
str.replace(regexp|substr, newSubStr|function)
  • 匹配模式 pattern

    regexp|substr : 一个正则表达式 或 一个字符串

    regexp: 匹配的内容会被 newSubStr替换 或 function 的返回值替换

    ​ 全局匹配模式g下, 所有匹配到的内容都会被替换

    substr只有第一个被匹配到的内容会被替换

  • 替换值 replacement

    newSubStr|function :一个字符串 或 一个每次匹配都要调用的回调函数

    newSubStr: 用于替换的字符,可以内插特殊变量名

    特殊变量名

    $$ : 替换值中插入一个 “$”

    $&: 替换值中插入匹配的子串

    $`: 替换值中插入当前匹配的子串左边的内容

    $’ : 替换值中插入当前匹配的子串右边的内容

    $n: 匹配模式是 RegExp 时,0 <= n < 100 , 替换值中插入正则中第 n 个括号匹配的字符串

    function: 用来创建新子字符串的函数,函数返回值替换匹配到的结果

    如果匹配模式是 RegExp全局g ,那每次匹配到都会调用function函数

    函数的参数

    • match:匹配的子串,对应 $&,该参数必须有

    • p1,p2,p3… : 如果匹配模式是RegExp全局,表示第n个括号匹配的字符串,对应 $n

    • offset : 匹配到的子字符串在原字符串中的偏移量

    • string : 被匹配的原字符串

    • NamedCaptureGroup:命名捕获组匹配的对象

  • 返回值

    替换后的新字符串, 不改变原字符串

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值