2009-05-25 64 views
0

HI,閱讀文本文件和分割字符串和推入到陣列

我讀文本文件

1 =蘋果 2 =插孔 3 =檸檬 4 =香蕉

var loader:URLLoader = URLLoader(event.target); 
var mystring :String = loader.data; 
tempArray = mystring.split("\n"); 

並得到如下值:

1 = apple

2 =插孔

3 =檸檬

4 =香蕉

我需要拆分的值和推入到陣列like..removing了 「=」 和 「端部空間」

「1 =蘋果」將該值分成1和蘋果。 「2 = jack」將該值分成2和千斤頂。

並使用1 2 3 ...作爲索引推入一個名爲fruits array的新數組;

fruits [1] =「apple」; fruits [2] =「jack」; lemon fruits [3] =「lemon」;

在此先感謝

回答

0

你嘗試,而不是分裂成換行符此,

tempArray = mystring.split(" "); 

...並與每個元素陣列中分開處理的「=」號前脫光什麼爲每個元素。

0

試試這個:

var lines:Array /* of String */ = String(loader.data).split(/ *\n */); 
var fruits:Array = []; 
for each (var line:String in lines) { 
    var tokens:Array /* of String */ = line.split('='); 
    fruits[int(tokens[0])] = tokens[1]; 
} 
1

我知道這可能會被視爲一個答案不足,但:

你爲什麼不使用XML? XML的文件是很容易在AS閱讀,他們總是用簡單TEXTFILES很難提供一個結構...

舉個例子:

<fruits> 
    <fruit index="1" name="Apple" /> 
    <fruit index="2" name="Jack" /> 
    <fruit index="3" name="Lemon" /> 
    <fruit index="4" name="Banana" /> 
</fruits> 

和AS會是這樣的:

var fruits:Array = new Array(); 
var xml:XML = new XML(); 
xml.ignoreWhite = true; 
xml.onLoad = function() 
{ 
    var nodes:Array = this.firstChild.childNodes; 
    for(var i=0; i<nodes.length; i++) 
     fruits.push(nodes[i].name);  // * 
} 
xml.load(xmlFile); 

與*線可以通過像水果取代爲節點[I]的.index] =節點[I]。名稱,如果你堅持使用指數從文件。