You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript正则表达式与replace函数替换字符串第二次出现的内容?

这事儿好办!用JavaScript的replace()配合正则表达式就能精准搞定,我给你讲清楚怎么弄:

解决方案

我们的目标是把格式为key-original-original的字符串,替换末尾的-original为-resized,最终得到key-original-resized。

基础实现(单个字符串)

直接用正则锚定字符串结尾的-original进行替换:

const originalString = "key-original-original";
const resizedString = originalString.replace(/-original$/, "-resized");

console.log(resizedString); // 输出:key-original-resized

正则表达式拆解

这里用的正则/-original$/逻辑很清晰:

  • -original:匹配字面量的-original字符串片段
  • $:结尾锚定符,确保我们只替换最后出现的那个-original,不会误改前面的相同内容

批量处理多字符串

如果需要处理一组符合格式的字符串,用数组map()方法就能批量完成:

const strList = [
  "profile-original-original",
  "cover-original-original",
  "icon-original-original"
];

const resizedList = strList.map(str => str.replace(/-original$/, "-resized"));
// 结果:["profile-original-resized", "cover-original-resized", "icon-original-resized"]

更严谨的匹配(可选)

如果你需要确保字符串严格符合[任意内容]-original-original的格式才替换,可以用带捕获组的正则:

const strictReplaced = originalString.replace(/^(.+-original)-original$/, "$1-resized");

这个正则会验证整个字符串结构,只有完全匹配才会执行替换,避免意外修改不符合格式的字符串。


内容的提问来源于stack exchange,提问作者Santosh Suryawanshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:02:54