热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#关于URL地址操作

获取域名(不包括二级域名)publicstringGetUrlDomainName(stringstrHtmlPagePath){stringphttp:[^\.]*\.(?

 

 

// 获取域名(不包括二级域名)
    public string GetUrlDomainName(string strHtmlPagePath)
    {
        
string p = @"http://[^\.]*\.(?[^/]*)";
        Regex reg 
= new Regex(p, RegexOptions.IgnoreCase);
        Match m 
= reg.Match(strHtmlPagePath);
        
return m.Groups["domain"].Value;
    }

 

// 截取域名(包括二级域名)
Uri uriTmp = new Uri(@"http://fff.sohu.com/newsecond/searchmore/bs-CS__address_sdf--1_ff=ffffssssss.htm");
Response.Write(uriTmp.Host.ToString());


其他操作:
    public string[] GetUrlFolerName(string strHtmlPagePath)
    {
        
//抓取网址字符串中的文件目录

        
int at = 0;
        
int start = 0;
        
int notei = 0;
        
int endi = 0;
        
int[] myIntArray = new int[10];
        
string[] ArrayFolderName = null;
        
string NewFolderName;
        
while ((start < strHtmlPagePath.Length) && (at > -1))
        {
            at 
&#61; strHtmlPagePath.IndexOf(&#39;/&#39;, start);
            
if (at &#61;&#61; -1break;
            myIntArray[notei] 
&#61; at;
            start 
&#61; at &#43; 1;
            notei 
&#61; notei &#43; 1;
            endi 
&#61; at;
        }
        ArrayFolderName 
&#61; new string[notei - 1];
        
for (int i &#61; 0; i < notei; i&#43;&#43;)
        {
            
if (myIntArray[i] > 0)
            {
                
if (myIntArray[i &#43; 1> 0)
                {
                    NewFolderName 
&#61; strHtmlPagePath.Substring(myIntArray[i] &#43; 1, myIntArray[i &#43; 1- myIntArray[i] - 1);
                    ArrayFolderName.SetValue(NewFolderName, i);
                }

            }
        }
        
return ArrayFolderName;
    }

    
public string GetUrlFileName(string strHtmlPagePath)
    {
        
//抓取网址字符串中的文件名称
        int at &#61; 0;
        
int start &#61; 0;
        
int notei &#61; 0;
        
int endi &#61; 0;
        
int[] myIntArray &#61; new int[10];
        
string NewFileName &#61; "";
        
while ((start < strHtmlPagePath.Length) && (at > -1))
        {
            at 
&#61; strHtmlPagePath.IndexOf(&#39;/&#39;, start);
            
if (at &#61;&#61; -1break;
            myIntArray[notei] 
&#61; at;
            start 
&#61; at &#43; 1;
            notei 
&#61; notei &#43; 1;
            endi 
&#61; at;
        }

        
for (int i &#61; 0; i < notei; i&#43;&#43;)
        {
            
if (myIntArray[i] > 0)
            {
                
if (myIntArray[i &#43; 1&#61;&#61; 0)
                {
                    NewFileName 
&#61; strHtmlPagePath.Substring(myIntArray[i] &#43; 1, strHtmlPagePath.Length - myIntArray[i] - 1);

                }
            }
        }
        
return NewFileName.ToLower();

    }

转:https://www.cnblogs.com/wangpei/archive/2009/01/07/1371149.html



推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 本文介绍了在Java中检查字符串是否仅包含数字的方法,包括使用正则表达式的示例代码,并提供了测试案例进行验证。同时还解释了Java中的字符转义序列的使用。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 本文介绍了一种求解最小权匹配问题的方法,使用了拆点和KM算法。通过将机器拆成多个点,表示加工的顺序,然后使用KM算法求解最小权匹配,得到最优解。文章给出了具体的代码实现,并提供了一篇题解作为参考。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了PHP常量的定义和使用方法,包括常量的命名规则、大小写敏感性、全局范围和标量数据的限制。同时还提到了应尽量避免定义resource常量,并给出了使用define()函数定义常量的示例。 ... [详细]
  • 本文介绍了Foundation框架中一些常用的结构体和类,包括表示范围作用的NSRange结构体的创建方式,处理几何图形的数据类型NSPoint和NSSize,以及由点和大小复合而成的矩形数据类型NSRect。同时还介绍了创建这些数据类型的方法,以及字符串类NSString的使用方法。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
author-avatar
手机用户2502887703
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有