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

如何用JavaScript替换§k与§r之间出现的指定子串?

实现方法

可以通过正则匹配+局部替换的方式解决这个问题,核心思路是先定位所有§k到§r的文本块,再单独替换每个块内的"bar",不会影响块外的内容。

具体代码示例

var str = '§kfoo bar 123§rfoo bar 123§kfoo bar 123§r';

// 处理字符串:找到所有§k到§r的块,替换块内的bar
var processedStr = str.replace(/§k.*?§r/g, function(matchBlock) {
  // 这里把bar替换成你需要的内容,比如baz
  return matchBlock.replace(/bar/g, 'baz');
});

console.log(processedStr);
// 输出:'§kfoo baz 123§rfoo bar 123§kfoo baz 123§r'

关键细节说明

  • 外层正则/§k.*?§r/g:
    • §k和§r是匹配的边界标记;
    • .*?是非贪婪匹配,确保每次只匹配到最近的§r就停止,不会把多个§k...§r块连在一起匹配;
    • g是全局标志,会找出字符串中所有符合条件的块。
  • 替换函数:对每个匹配到的§k...§r块,单独执行内部的replace操作,只修改块内的"bar",完全不影响块外的内容。

如果需要调整匹配规则(比如忽略大小写、匹配更复杂的变体),只需要修改内部的正则即可,比如用/bar/gi来忽略大小写替换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:50:26