如何使用正则表达式替换特定分隔符后的末尾数字内容
替换问题解决方案
- 首先修正正则匹配规则:你当前使用的正则
/\-\d$/仅能匹配字符串末尾的单个数字,而你待替换的内容是3位数字123,需要调整为匹配末尾1个及以上数字的规则/-\d+$/,规则中的+表示匹配前面的数字规则1次或多次,另外-在该正则场景下不需要转义也可以正常匹配。 - 处理字符串不可变特性:JavaScript 中的字符串是不可变的基础类型,
replace方法不会修改原始字符串,只会返回替换完成后的新字符串,你需要用变量接收该返回值才能拿到修改后的结果。
正确实现的示例代码如下:
const originalStr = 'hello-word-the-code-123'; // 替换为固定值x的写法 const modifiedStr = originalStr.replace(/-\d+$/, '-x'); // 如果需要替换为你自定义的变量i,可替换为下面的写法 // const modifiedStr = originalStr.replace(/-\d+$/, '-' + i); console.log(modifiedStr); // 输出结果为 hello-word-the-code-x
内容的提问来源于stack exchange,提问作者chen le
相关产品推荐
相关产品推荐

