js特定字符串怎么替换数据?

作者站长头像
站长
· 阅读数 10

有这样类型的字符串和数据 '端口号为s%-s%',数据为[200, 3000]替换成端口号为200-3000,取值为s%,数据为[50]替换成取值为50

如上 s%的个数是未知的,数据长度和个数是一致的。请问怎么替换?谢谢。

回复
1个回答
avatar
test
2024-07-04

正则匹配,然后下标向后移动即可:

const replace = (str, data) => {
  let index = 0;

  return str.replace(/s%/g, () => {
    return data[index++];
  });
};

使用:

replace('端口号为s%-s%', [50, 100]); // 端口号为50-100
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容