我现在一个字符串中获取一个URL 比如说 string text = "这是一个URL http://www.csdn.net 请打开" 我考虑 IndexOf("http://") 来获得字符串中 网址开头的索引  可是怎么判断它的结尾呢 如果不用我的办法 请大家告诉我个建议 我新手 如果可能的话 是否可以写的详细点 

解决方案 »

  1.   

    关注一下。
    如果URL首尾有空格,可考虑用Split函数试试
      

  2.   

    我也是刚学C的,前面你可以用indexOf()在uri中找第一个冒号“:”,在用substring()提取子字符串。   后面用lastindexof()获取最后一个点“.”的索引,然后用substring()提取顶级域名部分的子字符串,然后在进行判断
      

  3.   

    string str = "这是一个URL http://www.csdn.net 请打开";
    Match m = Regex.Match(str,@"(?i)(http://)?[a-z.]+\b");
    if(m.Successed)
    {
        //找到了
        //m.Value就是你要的
    }
      

  4.   

    顶楼上,不过还要考虑"?""=""&"等符号,建议去网上搜一个正则表达式。
      

  5.   

    有道理,url还有参数的
    string str = "这是一个URL http://www.csdn.net 请打开";
    Match m = Regex.Match(str,@"(?i)(http://)[^ ]+");
    if(m.Successed)
    {
        //找到了
        //m.Value就是你要的
    }