ファイル内の改行文字を削除するために ActionScript 2.0 の処理を書いているところで、「¥r」や「¥n」では認識されないことで嵌ったのでメモ。
テスト1: ファイルから読み込んだ文字列
改行コードは CR+LF (Windows)。文字コードは UTF-8。
1行目 2行目
var string_from_file:String = (上記のファイルを読み込んだもの);
var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);
trace('length CR: ' + string_from_file.split(CR).length); // => 2
trace('length LF: ' + string_from_file.split(LF).length); // => 2
trace('length ¥r: ' + string_from_file.split("¥r").length); // => 1
trace('length ¥n: ' + string_from_file.split("¥n").length); // =>
テスト2: 直接 AS のコードで書いた文字列
var string_from_code:String = "1行目¥r¥n2行目";
var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);
trace('length CR: ' + string_from_code.split(CR).length); // => 1
trace('length LF: ' + string_from_code.split(LF).length); // => 1
trace('length ¥r: ' + string_from_code.split("¥r").length); // => 2
trace('length ¥n: ' + string_from_code.split("¥n").length); // => 2
以上を踏まえて作るべき改行を削除するメソッド
function chomp(str:String):String {
var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);
return str.split(CR).join('').split(LF).join('').split("¥r").join('').split("¥n").join('');
}
全体的に検証が足りない。AS3 では知らない。メモ代わりなので悪しからず。