我有一个字符串
var countries = india*australia*pakistan*...
var replace = countries.replace("*",",");
然后它将字符串作为
replace = india,australia*pakistan*...
我想替换所有* with,.how我可以用jquery或javascript
答案 0 :(得分:7)
像这样:
result = original.replace(/\*/g, ',');
JavaScript的String#replace
函数可以为第一个参数接受字符串或正则表达式。如果它是一个字符串,则替换仅在第一次匹配时发生。如果它是正则表达式,如果指定g
标志(全局),它将是第一个匹配或全部匹配。
正则表达式为\*
,表示“匹配文字*
”(您需要反斜杠,否则*
对于正则表达式来说是特殊的。)
答案 1 :(得分:3)
你需要带有全局(g)标志的正则表达式:
var replace = countries.replace(/\*/g,",");
答案 2 :(得分: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
的第一个参数