阅读文本文件和分割字符串和推入到阵列
问题描述:
我读文本文件
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]。名称,如果你坚持使用指数从文件。