2012-12-20 41 views
1

我有一個字符串如何將整個字符串與其他替代

 var countries = india*australia*pakistan*... 
     var replace = countries.replace("*",","); 

然後它會給字符串作爲

 replace = india,australia*pakistan*... 

我想替換所有*用,。如何字符串我能做到這一點與jQuery或JavaScript

回答

7

像這樣:

result = original.replace(/\*/g, ','); 

JavaScript的String#replace函數可以接受字符串或爲第一個參數一個正則表達式。如果它是一個字符串,替換隻發生在第一場比賽。如果是正則表達式,那麼如果您指定g標誌(全局),則它將成爲第一個匹配項或全部匹配項。

正則表達式是\*,意爲「匹配文字*」(您需要反斜槓,否則*對於正則表達式是特殊的)。

3

你需要用全局(G)標誌的正則表達式:

var replace = countries.replace(/\*/g,","); 

0

可能是矯枉過正,你的情況,但如果你打算做這種事情很多次的,可以這樣考慮:

RegExp.escape = function(str) { 
    return (str+'').replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); 
}; 

String.prototype.replaceAll = function(string, replacement) { 
    return this.replace(new RegExp(RegExp.escape(string), "g"), replacement); 
}; 

console.log("This*is*a*test".replaceAll("*", " ")); // logs 'This is a test' 

還注意到逃脫搜索字符串(因此爲RegExp.escape定義)的護理,所以你可以自由地把任何東西作爲第一個參數replaceAll

相關問題