Javascript - 字符串替换为多个字符串

时间:2017-01-21 15:37:05

标签: javascript string replace

我想知道是否存在执行此操作的函数:

var greetings = "Hello %s, I'm %s"
greeting.replace('Mickey','Minnie');

// Should return: Hello Mickey, I'm Minnie

修改

谢谢大家的帮助!

我为它创建了一个小节点包,以防任何人需要这样的东西:

str-render link

4 个答案:

答案 0 :(得分:6)

您可以在IIFE中使用template literals

const greetings = ((a, b) => `Hello ${a}, I'm ${b}`)('Mickey','Minnie');

console.log(greetings);

答案 1 :(得分:1)

如果您无法使用ES6(模板文字)或填充,您也可以将函数传递给.replace()

请参阅:

var greeting = "Hello %s, I'm %s"
var replacements = ['Mickey', 'Minnie'];

greeting.replace(/%s/g, function() {
  return replacements.shift();
});

这会返回“Hello Mickey,我是Minnie”

答案 2 :(得分:1)

使用"传统"使用Javascript:

var greetings = "Hello %s, I'm %s"
(['Mickey','Minnie']).forEach (function (n) { greetings = greetings.replace ('%s', n) });

答案 3 :(得分:0)

谢谢大家!

我为它创建了一个小节点包,以防任何人需要这样的东西:

str-render link