阅读文本文件和分割字符串和推入到阵列

问题描述:

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”;

在此先感谢

你尝试,而不是分裂成换行符此,

tempArray = mystring.split(" "); 

...并与每个元素阵列中分开处理的“=”号前脱光什么为每个元素。

试试这个:

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]; 
} 

我知道这可能会被视为一个答案不足,但:

你为什么不使用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]。名称,如果你坚持使用指数从文件。