Js字符串方法使用—replace

这篇博客深入探讨了JavaScript中replace函数的使用,特别是关于$1, $2等特殊字符的含义。通过实例解释了如何将日期字符串19970206转换为1997/02/06的格式,并详细阐述了$&, $`, $'以及$$在替换过程中的作用。此外,还介绍了replace函数在处理字符串时如何捕获和利用匹配的子串。
摘要由CSDN通过智能技术生成

replace

有这样一个问题,使用正则的方式把字符串 19970206 转换为 1997/02/06 的格式,字符串+正则,首先想到的是replace,但是之前用过的replace都是直接把第一个参数的内容用第二个替换掉,看了一下w3school文档上关于第二个参数的说明,有点抽象,没看懂,但是应该就是这个了🤨

  • $1、$2、…、$99的含义
    与 regexp 中的第 1 到第 99 个子表达式相匹配的文本
var a = '19970206';
var b = a.replace(/(\d{4})(\d{2})(\d{2})/, "$1/$2/$3")
console.log(b) // 1997/02/06

$1, $2, $3 对应的就是正则表达式里每一个括号匹配到的值,使用/的方式拼接每个值

  • $&的含义
    与 regexp 相匹配的子串
var a = '19970206';
var b = a.replace(/(\d{4})/, '$&>')
console.log(b)  // 1997>0206

$&就相当于正则匹配到的4个数字,就是1997,使用 1997> 拼接的格式替换1997

  • $` 的含义
    位于匹配子串左侧的文本
var a = 'abc19970206';
var b = a.replace(/(\d{4})/, '$`')
console.log(b)  // abcabc0206

$` 匹配到的是四个数字1997左侧的数字,整个意思是用1997左侧的字符替换1997,结果就是 abcabc0206

  • $’ 的含义
    位于匹配子串右侧的文本
var a = 'abc19970206';
var b = a.replace(/(\d{4})/, "$'")
console.log(b)  // abc02060206

与上面的情况类似,用1997右边的字符来替换1997

  • $$ 的含义
    直接量符号 就是$字符本身
var a = 'abc19970206';
var b = a.replace(/(\d{4})/, "$$")
console.log(b) // abc$0206
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值