Javascript - 用数组替换字符串值中的相同匹配项

标签 javascript node.js string replace

我想替换出现的“?”与数组中的值

示例:

var s = "hello ? , my name is ?";

我想使用类似的东西

var result= s.replace('?',['john','david']); /** does not work **/
console.log(result) /** "hello john, my name is david" **/

最佳答案

可以通过使用.replace来实现这一点带有正则表达式和函数。您还需要一个外部变量来递增。我称之为i

var s = "hello ? , my name is ?";

var i = 0;
var result = s.replace(/\?/g, function() {
  return ['john','david'][i++];
});

console.log(result);

关于Javascript - 用数组替换字符串值中的相同匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61058478/

相关文章:

javascript - 为什么此正则表达式不适用于德语单词?

javascript - 从带有 trim 空格和新行的字符串中获取主题标签

c - 在 C 中反转字符串时出现运行时错误

Ruby 将 String 拆分为两部分并放入带有预定义键的散列

php - 比较 2 个字符串,减去相同的字符并返回新值

javascript - 当 <input type ="number"/> 的值改变时会触发什么事件?

javascript - 有没有办法通过 Chrome 扩展禁用 chrome_url_overrides?

javascript - 加载 gRPC 二进制模块失败,因为它没有为当前系统安装

javascript - puppeteer 等待页面/DOM 更新 - 响应初始加载后添加的新项目

node.js - Chai 没有到达 .end()