2017-04-09 1237 views
4

我試圖用一個x字符替換電子郵件中的所有句號 - 例如「[email protected]」將變成「myxemail @ emailxcom」。電子郵件設置爲一個字符串。
我的問題是它沒有取代只是完全停止,它取代了每個字符,所以我只是得到一串x的。
我可以用一個句號得到它,所以我假設我在全局實例部分是錯誤的。這裏是我的代碼:替換typescript中字符串的所有實例?

let re = "."; 
let new = email.replace(/re/gi, "x"); 

我也試過

re = /./gi; 
new = email.replace(re, "x"); 

如果任何人都可以擺脫任何光線我會很感激,我已經被困在了這麼久,不能似乎弄清楚我要去哪裏錯了。

**編輯:哎呀,我的新變量實際上叫做newemail,關鍵字new並沒有引起問題!

+1

'new'是在JavaScript – charlietfl

回答

10

你的第二個例子是最接近的。唯一的問題是你的變量名稱,new,這恰好是JavaScript的reserved keywords(而不是用於構造對象,如new RegExpnew Set)之一。這意味着你的程序會拋出一個語法錯誤。

此外,由於點(.)是正則表達式語法中的特殊字符,因此應該將其轉義爲\.。否則,你會以result == "xxxxxxxxxxxxxxxxxx"結束,這是不可取的。

let email = "[email protected]" 
 

 
let re = /\./gi; 
 
let result = email.replace(re, "x"); 
 

 
console.log(result)

+0

我是用/./gi腳麻的保留字,/\./解決的問題!太感謝了! – Rebecca

+0

如何根據索引替換字符串中的字符? – George

+0

@George你是什麼意思?你能給我一個理想的例子/輸出嗎? – gyre

相關問題