我想用 JavaScript 将字符串中的某些字符替换为大写,如下所示。
来源:“abcdefgh”
期望:“ab-CD-ef-gh”
我的方法是:
let str = 'abcdefgh';
let result = str.replace(/ab(.\*)ef(.\*)/g, (...args) =\> \`ab-${args\[1\].toUpperCase()}-ef-${args\[2\]}\`);
console.log(result);
但我尝试找到一种纯粹的正则表达式方式来做到这一点。
代码是这样的:
let str = 'abcdefgh';
let result = str.replace(/ab(.\*)ef(.\*)/g, 'ab-\\L$1-ef-$2'));
console.log(result);
结果是
ab-Lcd-ef-gh
好像不行。
请帮忙,谢谢
尝试一下并告诉我
let str = 'abcdefgh';
let result = str.replace(/ab(.)(.)ef(.)(.)/g, 'ab-\\U$1$2-ef-$3$4');
dd
let str = 'abcdefgh';
let result = str.replace(/(..)(..)(.*)/,
(m, g1, g2, g3) => g1 + "-" + g2.toUpperCase() +
g3.replace(/(..)/g, "-$1"));
console.log(result);