我有一个字符串
var countries = india*australia*pakistan*...
var replace = countries.replace("*",",");
然后它将给字符串作为
replace = india,australia*pakistan*...
我想将所有 * 替换为 , . 如何使用 jquery 或 javascript 来完成
我有一个字符串
var countries = india*australia*pakistan*...
var replace = countries.replace("*",",");
然后它将给字符串作为
replace = india,australia*pakistan*...
我想将所有 * 替换为 , . 如何使用 jquery 或 javascript 来完成
像这样:
result = original.replace(/\*/g, ',');
JavaScript 的String#replace
函数可以接受字符串或正则表达式作为第一个参数。如果它是一个字符串,则替换只发生在第一个匹配项上。如果它是一个正则表达式,那么如果您指定g
标志(全局),它将是第一个匹配项或所有匹配项。
正则表达式是\*
,这意味着“匹配文字*
”(您需要反斜杠,否则*
对于正则表达式来说是特殊的)。
您需要带有全局 (g) 标志的正则表达式:
var replace = countries.replace(/\*/g,",");
在你的情况下可能有点矫枉过正,但如果你打算多次做这种事情,考虑一下:
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