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

如何查找字符串中的所有指定子串并将其替换为带编号的子串?

实现思路

你可以直接用字符串replace方法的回调参数实现自动编号替换,不需要手动逐个处理匹配结果,逻辑如下:

  • 先初始化一个编号计数器,默认从1开始
  • 调用replace方法时,第一个参数传入你匹配Test所用的正则(必须加全局匹配标识g)
  • 第二个参数传入回调函数,每次匹配到目标子串时回调会自动触发,在回调内返回拼接了当前计数器的新字符串,再把计数器自增1即可

代码示例

// 原始字符串
const originStr = 'Test abcdeftTest 12Test35'
// 初始化编号计数器
let num = 1
// 执行替换
const result = originStr.replace(/Test/g, () => `Test${num++}`)
// 输出结果:Test1 abcdeftTest2 12Test335
console.log(result)

补充说明

如果你的匹配规则不是固定的Test,只要把replace的第一个正则参数改成你之前用match方法时的正则即可,只要保证正则带g全局标识,回调就会按照匹配到的顺序依次执行,编号也会按顺序生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:24:03