0

問題なく結果をトレースできます。ただし、結果を配列ではなく文字列に変換したいと思います。私がこれをしたい理由は、返された各文字列で検索と置換を行う必要があるためです.また、誰かが配列の各行を文字列に入れるのを手伝ってくれるので、検索と置換を行うことができます.ごめんなさいみんな私フレックス開発の初心者です。ご助力ありがとうございます

 var myArrayOfLines:Array = ul.data.split(/\n/);
 var line:String;
 for each (var lineRaw:String in myArrayOfLines)
 { 
  //line:String = lineRaw.match(pattern);
 trace(lineRaw.match(pattern));
  }
4

2 に答える 2

0

String配列には文字列が格納されるため、変数 (たとえば) を定義strし、配列を反復して、配列の各項目を次のように str に追加できます。

var str : String = "";
for each (var line : String in myArrayOfLines) {
    str += line;
}
//you can do some match and replace operation on the str variable, 
//since it contains all the elements of the arr.
于 2013-01-11T01:59:46.293 に答える
-1

各行の何かを置き換えて、結果を結合するだけの場合は、行に分割する必要はありません。replaceAll メソッドを使用するだけです。

replaceAll("pattern to search","string to put where pattern match");

それでもすべての行を置き換えて結合する必要がある場合は、次のようなことができます

    var myArrayOfLines:Array = ul.data.split(/\n/);
    var line:String;
    var result:String = "";
    for each (var lineRaw:String in myArrayOfLines){ 
        // you can use replace or replaceAll
        line:String = lineRaw.replace(pattern, "whatever you want to put in places");
        result += line;
        result += "\n"; // use this line if you want to add the break lines again
    }

match() を引き続き使用する場合は、単一の文字列ではなく、すべての一致を返します。

var str:String = "bob@example.com, omar@example.org"; 
var pattern:RegExp = /\w*@\w*\.[org|com]+/g; 
var results:Array = str.match(pattern);
// the result is ["bob@example.com","omar@example.org"]

したがって、このようなものがある場合は、 for を実行してすべての一致を繰り返すことができます。

    var lines:Array = lineRaw.match(pattern);
    for each (var line:String in lines){ 
        // you can do whatever you want with the String line
        result += line;
    }
于 2013-01-11T02:12:01.873 に答える