【问题标题】:Action Script 3.0 : How to extract two value from string.?Action Script 3.0:如何从字符串中提取两个值。?
【发布时间】:2010-04-01 12:07:59
【问题描述】:

你好

我有一个网址

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”的值。

我怎样才能为此编写一个函数。

【问题讨论】:

    标签: apache-flex flash actionscript-3 flashvars


    【解决方案1】:

    我猜您在使用字符串中的第二个“=”时遇到了问题。幸运的是,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 参数。

    【讨论】:

    • 是的,你做到了。但它包含一个 for 循环,不处理单参数 URL,也没有解释。你不太好降级更完整的答案。 :-\
    • 我的答案可以处理任意数量的参数,它不会滞后,因为它有一个简单的 for 循环-__-
    【解决方案2】:
    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/"]
    ]

    【讨论】:

      【解决方案3】:
       var url:String = "fileId=myfile.flv&conn=rtmp://server.com/service/";
      
       var strArray:Array = url.split(/=/);
      
      trace(strArray[0]) //Just to test
      

      返回一个数组,在索引 0 - 2 中包含单词“conn 或 fileid”(甚至是任何值),1、3 的替代选项是其中的信息。


      或者是你需要的其他东西?

      【讨论】:

      • 你测试过代码吗? strArray=["fileId","yfile.flv&conn","rtmp://server.com/service/"]
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多