2014-04-15 149 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("'","-");