我想知道是否存在执行此操作的函数:
var greetings = "Hello %s, I'm %s"
greeting.replace('Mickey','Minnie');
// Should return: Hello Mickey, I'm Minnie
修改
谢谢大家的帮助!
我为它创建了一个小节点包,以防任何人需要这样的东西:
答案 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)