Action Script 3.0: Как извлечь два значения из строки.? - PullRequest
1 голос
/ 01 апреля 2010

HI

У меня есть URL

var str:String = "conn=rtmp://server.com/service/&fileId=myfile.flv"

или

var str:String = "fileId=myfile.flv&conn=rtmp://server.com/service/"

str может быть таким, но мне нужно получить значение "conn" и "fileId" из строки.

как я могу написать функцию для этого.

Ответы [ 3 ]

1 голос
/ 01 апреля 2010
var str:String = "fileId=myfile.flv&conn=rtmp://server.com/service/"
var fa:Array = str.split("&");
for(var i:uint=0;i<fa.length;i++)
    fa[i] = fa[i].split('=');

Вот как переменная "fa" будет в конце:

fa = [
["fileId", "myfile.flv"],
["conn", "rtmp: //server.com/service/"]
]

1 голос
/ 01 апреля 2010

Я предполагаю, что у вас проблемы со вторым '=' в строке. К счастью, метод ActionScript String.Split поддерживает разбиение на строки, поэтому должен работать следующий код:

var str:String = "conn=rtmp://server.com/service/&fileId=myfile.flv";
var conn:String = (str + "&").Split("conn=")[1].Split("&")[0];

и

var str:String = "fileId=myfile.flv&conn=rtmp://server.com/service/";
var fileId:String = (str + "&").Split("fileId=")[1].Split("&")[0];

Примечание: я добавляю & к строке, если строка не содержит параметров url, кроме того, который мы ищем.

0 голосов
/ 01 апреля 2010
 var url:String = "fileId=myfile.flv&conn=rtmp://server.com/service/";

 var strArray:Array = url.split(/=/);

trace(strArray[0]) //Just to test

возвращает массив со словом 'conn or fileid' в индексе 0 - 2 (что-нибудь четное), альтернативой 1, 3 является информация внутри.


Или это было что-то еще, что вам нужно?

...