String.prototype.replace()
以下の例は、文字列str中の”cd”を”CD”に一括置換し、結果は”abCDefabCDefabCDef”となる。
1 2 |
var str = "abcdefabcdefabcdef"; var newStr = str.replace( /cd/g, "CD" ); |
ただしこの方法では、//の間が直接文字列と評価されてしまうので、変数の内容を引き渡すことができない。
split/join
String.prototypeで定義されたsplit()
メソッドとjoin()
メソッドと用いて、文字列変数で引数を与えて一括置換ができる。
split
文字列操作のsplit()
メソッドは、指定した文字列を検索して、それらで区切られた文字列を配列で返す。
1 2 |
var str = "abcdefabcdefabcdef"; var array = str.split( "cd" ); |
上記の結果、配列arrayは以下の要素が格納される。
1 |
[ "ab", "efab", "efab", "ef" } |
join
文字列操作のjoin()
メソッドは、配列の要素を引数の文字列で繋いだ文字列を返す。
1 |
var newStr = array.join( "CD" ); |
一つ上でsplit()
の結果得られた配列に上記を適用すると、結果の文字列は以下のようになる。
1 |
abCDwfabCDef |
一括置換
上記のsplit()
、join()
の機能・戻値を考慮して、以下の用法で文字列の一括置換が可能。
1 |
var newStr = str.split( "置換対象" ).join( "置換内容" ); |