私はひもを持っています
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