Perlなどで文字列を置換するときは成規表現などを用いますが、ActionScriptには標準で文字列を置換するメソッドを持っていないため、配列を操作するメソッド split と join を用います。
動きとしては元の文字列を変換前の文字列で split し、その配列を変換後の文字列で join します。
text = "がんばれ!!ゲイツ君";
text = replace("ゲイツ", "ジョブズ", text);
trace(text);
function replace(bofore, after, str) {
var str_array = str.split(bofore);
var result = str_array.join(after);
return result;
}
結果的に変数 text は「がんばれ!!ジョブズ君」というテキストになります。ちなみにこのスクリプトでは変換前のテキストに含まれている「ゲイツ」という文字列全てが「ジョブズ」に変換されます。最初の一つだけ変換するというような動作をさせたい場合は join を用いず for in ステートメントなどを使うことになります。
注意点としては変換前の文字列のサイズが大きいと処理に時間がかかるので、CGIなどを利用して文字列のやりとりをする場合はあらかじめCGI側で変換を済ませておくほうが良いと思います。
動きとしては元の文字列を変換前の文字列で split し、その配列を変換後の文字列で join します。
text = "がんばれ!!ゲイツ君";
text = replace("ゲイツ", "ジョブズ", text);
trace(text);
function replace(bofore, after, str) {
var str_array = str.split(bofore);
var result = str_array.join(after);
return result;
}
結果的に変数 text は「がんばれ!!ジョブズ君」というテキストになります。ちなみにこのスクリプトでは変換前のテキストに含まれている「ゲイツ」という文字列全てが「ジョブズ」に変換されます。最初の一つだけ変換するというような動作をさせたい場合は join を用いず for in ステートメントなどを使うことになります。
注意点としては変換前の文字列のサイズが大きいと処理に時間がかかるので、CGIなどを利用して文字列のやりとりをする場合はあらかじめCGI側で変換を済ませておくほうが良いと思います。