Чтение текстового файла, разделение строки и вставка в массив - PullRequest
0 голосов
/ 25 мая 2009

HI

Я читаю текстовый файл

1 = яблоко 2 = Гнездо 3 = лимон 4 = банан

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

и получение значения как

1 = яблоко

2 = домкрат

3 = лимон

4 = банан

мне нужно разделить значение и вставить в массив, как ... удаление "=" и "пробела"

"1 = яблоко" разделить это значение на 1 и яблоко. «2 = гнездо» разделить это значение на 2 и гнездо.

и нажмите на новый массив, называемый массив фруктов, используя 1 2 3 ... как индекс;

фрукты [1] = "яблоко"; плоды [2] = «джек», лимон фрукты [3] = "лимон";

заранее спасибо

Ответы [ 3 ]

1 голос
/ 25 мая 2009

Я знаю, что это может рассматриваться как неадекватный ответ, но:

Почему вы не используете XML? XML-файлы довольно легко читаются в AS, и они всегда имеют структуру, которую простые текстовые файлы вряд ли могут предоставить ...

Как пример:

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

Строка с * может быть заменена чем-то вроде фруктов [node [i] .index] = node [i] .name, если вы настаиваете использовать индексы из файла.

0 голосов
/ 25 мая 2009

Попробуйте это:

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];
}
0 голосов
/ 25 мая 2009

Вы пробовали это вместо разбиения на новую строку,

tempArray = mystring.split(" ");

... и работа с каждым элементом в вашем массиве отдельно для удаления чего-либо перед знаком "=" для каждого элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...