【问题标题】:string.split parse url from large stringstring.split 从大字符串中解析 url
【发布时间】:2018-04-28 02:38:35
【问题描述】:

如何从下图中的这一大串文本中解析和提取 url?

我想要 .m3u8 链接。 我尝试使用String.split(),但它只接受字符而不接受字符串。

【问题讨论】:

  • 首先,发布文本而不是图像,这很烦人。其次,您确实需要解释实际构成 url 的内容,即它在哪里停止,因为从那个可怕的图像中不清楚
  • 你的问题是'不能使用 string.Split("")' 吗?
  • 存在接受字符串分隔符数组的重载:msdn.microsoft.com/en-us/library/tabh47cf(v=vs.110).aspx

标签: c# string parsing text split


【解决方案1】:

我不知道这种方法是否正确,但我想你可以删除那些包含“EXT”的行,如果它们在你的 url 中很常见。

var result = url.Split(new [] { '\r', '\n' }); // converting string to lines
for (int i=0;i<=result.Length-1;i++) // Finding if EXT text is present and removing them
  {
    if (result[i].Contains("EXT-")
      result.RemoveAt(i);
  }
string final = string.Join("", result); // converting back to string

告诉我它是否适合你!

【讨论】:

    【解决方案2】:

    如何从这么大的文本字符串中解析和提取 url?

    使用此代码:

    void Main()
    {
        var text = @"
    otEXT-X-MEDIA:TYPE=VIDEO,GROUP-ID=720p30',NAME=*720p°,AUTOSELECT=YES,DEFAULT=YESEXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2374703,RESOLUTION=1280x720,CODECS=•avc1.77.31,mp4a.40.2',VIDEO=720p30'
    http://video-weaver.lax03.hls.tbmw.net/v1/playlist/CuoCf3YooUjSfbk71Zs3ig68T2vDVg7449mAN78mSV1oQ9V7skuTh6NP9FOSaIgGNgnpliscdDC9XvjGyGcYrIXBbAXSkqCGuIOTQgtIw5IQLUIbHGMZIXWZeD6Urd4GzyPxCoARIYyo6i5ECCfK2r1jW1kidXGotcRXy6fHolJw-rC9xPPYc2IxYKaERQ9NsOMGn3m2ChqWFSpRHbYNK1M8OrU4WecMwgoFkORbEBEmAmng2V8GnGz63hWNV2sDW1H9E5pYjG4jpPLEf_Fwt75CePIgyZ9g30Kgr5CHZYSyMMbMAX-eac5wC3wjVUWtGz094t4xH1713yvWjv813vCY6NRBCPkCINdpXBmUnLcnE1JOLye_NiGx5R1B4IMDpRXDZQAO6PBm97ZNhyLZKc9Awg5vypphWG2MMAGdboca5WGtG_wVRp12SiHw9n0a51VpqNjVVVWbASuUly-CEe22tzLkwEolOWGE8VQSECyPx17qBU7YPHCEEi8ncnMaDly1Dn8j0xU-QN71kA.m3u8  
        ";
    
        MatchCollection ms = Regex.Matches(text, @"(www.+|http.+)([\s]|$)");
        string url = ms[0].Value.ToString();
        Console.WriteLine(url);
    }
    


    我尝试使用 String.Split,但它只接受字符而不接受字符串。

    这个问题你可以使用扩展 但它不能解决你的问题

    void Main()
    {
        var extention_str = "http://aaacccddd".Split("ccc");
    }
    
    public static class StrinExtention {
        public static string [] Split(this string str,string separator){
            return str.Split(new string [] {separator},StringSplitOptions.None);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-08
      • 1970-01-01
      • 2013-04-01
      • 2013-06-10
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多