2017-07-07 36 views
0

我有以下字符串:替换字符串表达式

var myString = "Name: "; 

function replaceName(str, name) { 
    return str.replace(/Name:/gi, "Name:" + name); 
} 

myString = replaceName("Name: ", "Joe"); 
myString = replaceName("Name: ", "Jane"); 

我想每次添加一个新的名字时更换整条生产线。上面不断追加名称到字符串的末尾。

如何在每次调用str.replace时更换名称?

+0

您要求将其替换为'“Name:”+“Joe”'。你想要什么样的输出? –

+0

确切的说......它可以正常工作...... –

+0

@Rory如果你第二次使用不同的值调用函数,它会附加它。 – adam78

回答

1

首先,你可能已经清楚地提到第二次调用函数会搞砸了。其次,你的代码中没有功能,所以你需要知道哪个线路搞乱了。我在Rory McCrossan的帮助下理解了这个问题,下面是答案。

我改变了代码,并使用这个正则表达式的工作:

var str = "Name: "; 
 
str = str.replace(/Name:.*/gi, "Name:" + "Joe"); 
 
console.log(str); 
 
str = str.replace(/Name:.*/gi, "Name:" + "Prav"); 
 
console.log(str);

解释为正则表达式

preview

吱吱:没有比这更好的解释比RegEx101 ...

+0

,就可以为该正则表达式添加解释:) – guradio

+1

@guradio绝对配对。现在这样做... –

+0

谢谢mate .. :) – guradio