var str = 'this is a test'
console.log(str.replace(/\b(\w)/g, ('$1'+'a').toUpperCase()))
// tAhis iAs aA tAest
为什么输出的不是TAhis IAs AA TAest
str.replace(/b(w)/g, ('$1').toUpperCase()),为什么调用的toUpperCase这个方法无效。
var str = 'this is a test'
console.log(str.replace(/\b(\w)/g, ('$1'+'a').toUpperCase()))
// tAhis iAs aA tAest
为什么输出的不是TAhis IAs AA TAest
str.replace(/b(w)/g, ('$1').toUpperCase()),为什么调用的toUpperCase这个方法无效。
10 回答7.5k 阅读
16 回答2.8k 阅读✓ 已解决
6 回答4.1k 阅读✓ 已解决
9 回答3.4k 阅读✓ 已解决
14 回答5.3k 阅读
11 回答2.7k 阅读✓ 已解决
9 回答3.2k 阅读
你对于toUpperCase的作用范围理解错了
相当于
$1的大写还是$1,你只是把替换规则的字符串大写了,并没有把替换的结果大写
如果需要大写的话,用楼上的方法就可以了
str.replace(/b(w)/g, v => `${v}a`.toUpperCase())