2014-04-15 112 views
0

如何替换'在JavaScript中。例如,我想将O'conor转换为O-conor。 这不起作用。我正在做一些愚蠢的事情。Javascript字符串替换“'”

var dummyStr = "O'conor"; 
dummyStr.replace("'","-"); 
console.log(dummyStr); //prints O'conor 
dummyStr.replace(/'/g,"-"); //still prints O'conor not O-conor 

如果已经在别处询问过,请标记重复。

+0

的[?为什么JavaScript的替换()函数没有做任何事情(可能重复http://stackoverflow.com/questions/18647411/为什么不做任何事情) – Bergi

+0

你正在做的事情,但你必须保存'dummyStr.replace(“'”,“ - ”)的值;'在变量中,你可以做这样的'dummyStr = dummyStr.replace(“'”,“ - ”);' – Himanshu

+0

确切的复制https://stackoverflow.com/questions/1433212/replace-method-doesnt-work – Bergi

回答

3

你需要一个变量分配给的replace()

返回值

eg

var dummyStr = "O'conor"; 
var ammendedString = dummyStr.replace("'","-"); 
console.log(ammendedString); 
+0

感觉像一个白痴!谢谢 – lonelymo

+0

没有问题,很容易在更基础的层面上错过这样的事情,尽量记住JavaScript中的字符串是不可变的,所以你不能像这样“改变”它们,你通常需要对它们运行函数,将结果分配给别的东西,或者回到原来的变量。 – dougajmcdonald

7

replace(参见replace on W3Schools)不会修改当前字符串。你必须为它分配是这样的:

dummyStr = dummyStr.replace("'","-"); 
console.log(dummyStr); //prints O-conor 
+1

我感觉像个白痴!谢谢 – lonelymo

+0

不用担心,这是一个常见问题:-) –

3

你只需要这个存储一些变量替换后,像下面

dummyStr = dummyStr.replace("'","-");