• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:外部txt変数ファイルの改行コード削除!?)

外部txt変数ファイルの改行コード削除方法とは?

このQ&Aのポイント
  • 外部txt変数ファイルを編集する際に、改行コードを削除する方法を教えてください。
  • 外部txt変数ファイルの改行コードを削除することで、Flashが強制終了する問題を解決したいです。
  • 現在、改行コードを置換する方法を試していますが、期待した結果が得られていません。アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#2 です。 すみません。グローバルの「g」を忘れてました。。。 -------------------------- var myLoader:URLLoader = new URLLoader(); var myRequest:URLRequest=new URLRequest("mydata.txt"); myLoader.addEventListener(Event.COMPLETE, onComplete); myLoader.load(myRequest); // 外部txt変数ファイルロード完了時 function onComplete(e:Event) { var _str:String=e.target.data; _str=_str.replace(/\r\n|\r|\n/g,""); var _vars:URLVariables=new URLVariables(_str); trace(_vars.vars1,_vars.vars2,_vars.vars3); } -------------------------- _str=_str.replace(/\r\n|\r|\n/,"");   ↓変更↓ _str=_str.replace(/\r\n|\r|\n/g,""); です。

tkmkok
質問者

お礼

完璧です!いけました! グローバルの「g」ですか。 これは正規表現を勉強しないとまずいですね。。 ありがとうございました!!

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

外部テキストの改行コードがわかりませんが (というか,わからないことを前提にするのが普通かもしれませんが) 外部テキストの改行コードが \r\n である可能性もあります。 Windows の メモ帳 などがデフォルトで \r\n です。 そう言った意味世間一般には \r\n が "普通" なのかもしれません。 仮に \r\n であるとするなら( \r\n と断定できるなら) 次のようにするのが1つの方法です。 // 外部txt変数ファイルロード完了時 function onComplete(e:Event) { var _str:String=e.target.data; _str =_str.replace("\r\n", "" ); var _vars:URLVariables=new URLVariables(_str); } -------------- しかし, 外部テキストを他人に用意してもらう場合は,コードの特定など不可能です。 また,「改行コード を必ず \r\n にしてください」 などと 一般的ユーザ(たとえば Flash 素材 の世間一般のユーザ)に言うのは問題がありすぎます。 つまり,改行コードはわからないことを前提にするのが普通かもしれません。 その場合は次のようにするのが1つの方法です。 // 外部txt変数ファイルロード完了時 function onComplete(e:Event) { var _str:String=e.target.data; _str =_str.replace(/\r\n|\r|\n/, "" ); var _vars:URLVariables=new URLVariables(_str); } ==================== 他の方(質問者さんでない方(後でGoogle 検索でこのページに来られた方など)) のためにも, 2つ目のスクリプト例を通して書いておきます。 例えば,外部テキストのファイル名が「mydata.txt」で, その 「mydata.txt」 のデータ内容が vars1=hoge1& vars2=hoge2 であったとした場合のフレームのスクリプトを通すと次のようになります。 var myLoader:URLLoader = new URLLoader(); var myRequest:URLRequest=new URLRequest("mydata.txt"); myLoader.addEventListener(Event.COMPLETE, onComplete); myLoader.load(myRequest); // 外部txt変数ファイルロード完了時 function onComplete(e:Event) { var _str:String=e.target.data; _str=_str.replace(/\r\n|\r|\n/,""); var _vars:URLVariables=new URLVariables(_str); // ↓検証用 trace(_vars.vars1,_vars.vars2); }  

tkmkok
質問者

お礼

丁寧に教えていただいてありがとうございます。 _str=_str.replace(/\r\n|\r|\n/,""); 上記で試していけた! と思ったのですが、 vars1=hoge1& vars2=hoge2& vars3=hoge3 の場合 vars1=hoge1&vars2=hoge2& vars3=hoge3 と整形されてvars3がundefinedになるようです。。 /\r\n|\r|\n/にマッチしてるはずですよね。汗

関連するQ&A