zoukankan      html  css  js  c++  java
  • c#.net常用字符串函数 字符串常用方法 string

    RegionsStr = RegionsStr.Remove(RegionsStr.LastIndexOf(","), 1);   //去掉最后一个逗号

    string html = "<dd><h1> 第二百三十六章 古神精神印记</h1></dd>";
    var title = html.Split(new string[] { "<h1>","</h1>" }, StringSplitOptions.RemoveEmptyEntries)[1];
    
    // 第二百三十六章 古神精神印记
    //不能new char[]{},结果不是想要的

     =======================================

    在做类对象自定义比对的时候,从数据库中取出的数据和本地生成的数据使用默认的ToString()输出未必一直,如下:

    复制代码
    //2018-01-29
    //sql--date--2018-01-29 00:00:00.123
    //2018-01-29 00:00:00
    
    //1m
    //sql--numeric(18, 2)--1.00
    //1
    复制代码

    数字转换为String,使用Math.Round保留小数位数:

    复制代码
    public void ConvertToString()
    {
        //float--f
        var a = 1f;
        Console.WriteLine(Math.Round(a, 4));//1
        a = 1.12f;
        Console.WriteLine(Math.Round(a, 4));//1.12
        a = 1.12345f;
        Console.WriteLine(Math.Round(a, 4));//1.1235
    
        //decimal--m,double--d
        var b = 1m;//1d;
        Console.WriteLine(Math.Round(b, 4));//1
        b = 1.12m;//1/12d;
        Console.WriteLine(Math.Round(b, 4));//1.12
        b = 1.12345m;//1.12345d
        Console.WriteLine(Math.Round(b, 4));//1.1234
    }
    复制代码

    第一个问题就是数字本身小数点,第二个问题就是小数值四舍五入的算法。

    考虑使用ToString格式化字符串,整理如下:

    1.Guid

    复制代码
    var guid = Guid.NewGuid();
    //D,N,B,P大写小写效果是一样
    Console.WriteLine(guid.ToString("D"));// 10244798-9a34-4245-b1ef-9143f9b1e68a
    Console.WriteLine(guid.ToString("N"));// 102447989a344245b1ef9143f9b1e68a
    Console.WriteLine(guid.ToString("B"));// {10244798-9a34-4245-b1ef-9143f9b1e68a}
    Console.WriteLine(guid.ToString("P"));// (10244798-9a34-4245-b1ef-9143f9b1e68a)
    Console.WriteLine(guid.ToString());// 10244798-9a34-4245-b1ef-9143f9b1e68a
    复制代码

    2.Date

    复制代码
    DateTime dt = new DateTime(2018, 1, 1, 12, 5, 5, 123);//2018-01-01 05:06:07.123
    Console.WriteLine(dt.ToString("y"));//2018年1月 
    Console.WriteLine(dt.ToString("Y"));//2018年1月 
    Console.WriteLine(dt.ToString("m"));//1月1日
    Console.WriteLine(dt.ToString("M"));//1月1日 
    Console.WriteLine(dt.ToString("d"));//2018-01-01   
    Console.WriteLine(dt.ToString("D"));//2018年1月1日 
    Console.WriteLine(dt.ToString("t"));//12:05 
    Console.WriteLine(dt.ToString("T"));//12:05:05 
    Console.WriteLine(dt.ToString("%d"));//1   一月中某天
    Console.WriteLine(dt.ToString("%h"));//12   一天中某小时 
    Console.WriteLine(dt.ToString("%H"));//12   一天中某小时
    Console.WriteLine(dt.ToString("dd"));//01   一月中某天 
    Console.WriteLine(dt.ToString("ddd"));//周一   一周中某一天,在AbbreviatedDayNames中定义。  
    Console.WriteLine(dt.ToString("dddd"));//星期一   一星期中某一天,在DayNames中定义 
    Console.WriteLine(dt.ToString("MM"));//01   一年中某月
    Console.WriteLine(dt.ToString("MMM"));//一月   月份的缩写名称,在AbbreviatedMonthNames中定义。 
    Console.WriteLine(dt.ToString("MMMM"));//一月   月份的完整名称,在MonthNames中定义。 
    Console.WriteLine(dt.ToString("yy"));//18 
    Console.WriteLine(dt.ToString("yyyy"));//2018 
    Console.WriteLine(dt.ToString("gg"));//公元  
    Console.WriteLine(dt.ToString("hh"));//12    12小时制
    Console.WriteLine(dt.ToString("HH"));//12    24小时制
    Console.WriteLine(dt.ToString("tt"));//下午    上午,下午
    Console.WriteLine(dt.ToString("mm"));//05
    复制代码

    3.Number

    复制代码
    //C 货币
    Console.WriteLine(2.5.ToString("C"));//¥2.50
    Console.WriteLine(2.5.ToString("C5"));//¥2.50000
    //D 十进制数
    Console.WriteLine(25.ToString("D5"));//00025,不够前补0
    //E 科学型
    Console.WriteLine(25000.ToString("E"));//2.500000E+004
    //F 固定点
    Console.WriteLine(25.ToString("F2"));//25.00
    //G 常规
    Console.WriteLine(2.5.ToString("G"));//2.5
    //N 数字
    Console.WriteLine(2500000.ToString("N"));//2,500,000.00
    //X 十六进制
    Console.WriteLine(256.ToString("X"));//100
    //#.00 保留小数位数
    Console.WriteLine(256.ToString("#.00"));//256.00
    //#,#.00 千位分隔符
    Console.WriteLine(25656.ToString("#,#.00"));//256.00
    //固定位数(正数部分以及小数部分都是固定位数),不足补零,0是补位,有数字则占位,没则补零
    Console.WriteLine(3.5.ToString("0000.00"));//0003.50
    Console.WriteLine(30000.5.ToString("0,000.00"));//30,003.50
    Console.WriteLine(30000000.5.ToString("0,000.00"));//30,000,000.50
    复制代码

    ====================================

     TrimeEnd(',')

    Compare 比较字符串的内容,考虑文化背景(场所),确定某些字符是否相等

    CompareOrdinal 与Compare一样,但不考虑文化背景

    Format 格式化包含各种值的字符串和如何格式化每个值的说明符

    IndexOf 定位字符串中第一次出现某个给定子字符串或字符的位置

    IndexOfAny 定位字符串中第一次出现某个字符或一组字符的位置

    LastIndexOf 与IndexOf一样,但定位最后一次出现的位置  

    LastIndexOfAny 与IndexOfAny,但定位最后一次出现的位置

    PadLeft 在字符串的开头,通过添加指定的重复字符填充字符串

    PadRight 在字符串的结尾,通过添加指定的重复字符填充字符串

    Replace 用另一个字符或子字符串替换字符串中给定的字符或子字符串



    1、DateTime 数字型  
    System.DateTime currentTime=new System.DateTime();  
    1.1 取当前年月日时分秒  
    currentTime=System.DateTime.Now;  
    1.2 取当前年  
    int 年=currentTime.Year;  
    1.3 取当前月  
    int 月=currentTime.Month;  
    1.4 取当前日  
    int 日=currentTime.Day;  
    1.5 取当前时  
    int 时=currentTime.Hour;  
    1.6 取当前分  
    int 分=currentTime.Minute;  
    1.7 取当前秒  
    int 秒=currentTime.Second;  
    1.8 取当前毫秒  
    int 毫秒=currentTime.Millisecond;  
    (变量可用中文)  
    2、Int32.Parse(变量) Int32.Parse("常量")  
    字符型转换 转为32位数字型  

    3、 变量.ToString()  
    字符型 转换 转为  
    12345.ToString("n"); //生成 12,345.00  
    12345.ToString("C"); //生成 ¥12,345.00  
    12345.ToString("e"); //生成 1.234500e+004  
    12345.ToString("f4"); //生成 12345.0000  
    12345.ToString("x"); //生成 3039 (16进制)  
    12345.ToString("p"); //生成 1,234,500.00%  


    4、变量.Length 数字型  
    取字串长度:  
    如: string str="中国";  
    int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名  

    5、System.Text.Encoding.Default.GetBytes(变量)  
    字码转换 转为比特码  
    如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);  
    然后可得到比特长度:  
    len = bytStr.Length;  

    6、System.Text.StringBuilder("")  
    字符串相加,(+ 号是不是也一样?)  
    如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");  
    sb.Append("中华");  
    sb.Append("人 民");  
    sb.Append("共和国");  

    7、变量.Substring(参数1,参数2);  
    截取字串的 一部分,参数1为左起始位数,参数2为截取几位。  
    如:string s1 = str.Substring(0,2);  

    8、 String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    取 远程用户IP地址  

    9、穿过代理服务器取远程用户真实IP地址:  
    if(Request.ServerVariables["HTTP_VIA"]!=null){  
    string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  
    }else{  
    string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    }  

    10、 Session["变量"];  
    存取Session值;  
    如,赋值: Session["username"]="小布什";  

    取值: Object objName=Session["username"];  
    String strName=objName.ToString();  
    清 空: Session.RemoveAll();  

    11、String str=Request.QueryString["变量"];  
    用超链接传送变量。  
    如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a>  
    在Edit.aspx页中取值:String str=Request.QueryString["fdid"];  

    12、DOC对象.CreateElement("新建节点 名");  
    创建XML文档新节点  

    13、父节点.AppendChild(子节点);  
    将新建的子节点加到XML 文档父节点下  

    14、 父节点.RemoveChild(节点);  
    删除节点  

    15、Response  
    Response.Write("字串");  
    Response.Write(变量);  
    向页面输出。  

    Response.Redirect("URL 地址");  
    跳转到URL指定的页面  

    16、char.IsWhiteSpce(字串变量,位数)——逻辑型  
    查 指定位置是否空字符;  
    如:  
    string str="中国 人民";  
    Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。  

    17、char.IsPunctuation('字符') --逻辑型  
    查字符是否是标点符号  
    如:Response.Write(char.IsPunctuation('A')); //返回:False  

    18、(int)'字符'  
    把字符转为数字,查代码点,注意是单引号。  
    如:  
    Response.Write((int)' 中'); //结果为中字的代码:20013  

    19、(char)代码  
    把数字转为字符,查代码代表的字符。  
    如:  
    Response.Write((char)22269); //返回“国”字。  

    20、 Trim()  
    清除字 串前后空格  

    21 、字串变量.Replace("子字串","替换为")  
    字串替换  
    如:  
    string str="中国";  
    str=str.Replace("国","央"); //将国字换为央字  
    Response.Write(str); //输出结果为“中央”  

    再如:(这个非常实用)  

    string str="这是<script>脚本";  
    str=str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原)  
    Response.Write(str); //显示为:“这是<script>脚本”  

    如果不替换,<script>将不显示,如果是一段脚本,将运 行;而替换后,脚本将不运行。  
    这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。  
    具体实现:将你的表单提交按钮脚本加上下面代码:  
    string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。  
    strSubmit=strSubmit.Replace("<","<font><</font>");  
    然后保存或输出strSubmit。  
    用此方法还可以简单实现UBB代码。  

    22、Math.Max(i,j)  
    取i与j中的最大值  
    如 int x=Math.Max(5,10); // x将取值 10  
    23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法:  

    (1)、  
    string str1; str2  
    //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:  
    if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }  

    (2)、  
    //语 法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    (3)、  
    // 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    24、 IndexOf() 、LastIndexOf()  
    查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如:  
    str1.IndexOf(" 字"); //查找“字”在str1中的索引值(位置)  
    str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的 索引值(位置)  
    str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在 str1中的索引值(位置)  

    25、Insert()  
    在字串中指定索引位插入指定字符。如:  
    str1.Insert(1," 字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”;  

    26、PadLeft()、 PadRight()  
    在字串左(或右)加空格或指定char字符,使字串达到指定长度,如:  
    <%  
    string str1="中国人";  
    str1=str1.PadLeft(10,'1'); //无第二参数为加空格  
    Response.Write(str1); //结果为“1111111中国人” , 字串长为10  
    %>  

    27、Remove()  
    从指定位置开始 删除指定数的字符  
    字串对比一般都用: if(str1==str2){ } , 但还有别的方法:  

    1、  
    string str1; str2  
    //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:  
    if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }  

    2、  
    //语 法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    3、  
    // 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    IndexOf()  
    查找字串中指定字符或字串首次出现的位置,返首索引值,如:  
    str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)  
    str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位 置)  
    str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索 引值(位置)  

    1.9 取中文日期显示——年月日时分  
    string strY=currentTime.ToString("f"); //不显示秒  

    1.10 取中文日期显示_年月  
    string strYM=currentTime.ToString("y");  

    1.11 取中文日期显示_月日  
    string strMD=currentTime.ToString("m");  

    1.12 取当前年月日,格式为:2003-9-23  
    string strYMD=currentTime.ToString("d");  

    1.13 取当前时分,格式为:14:24  
    string strT=currentTime.ToString("t");  
    更新一下, 上面不能编辑:  

    c#.net函数和方法 集(大家一起来加啊)  


    1、DateTime 数字型  
    System.DateTime currentTime=new System.DateTime();  
    1.1 取当前年月日时分秒  
    currentTime=System.DateTime.Now;  
    1.2 取当前年  
    int 年=currentTime.Year;  
    1.3 取当前月  
    int 月=currentTime.Month;  
    1.4 取当前日  
    int 日=currentTime.Day;  
    1.5 取当前时  
    int 时=currentTime.Hour;  
    1.6 取当前分  
    int 分=currentTime.Minute;  
    1.7 取当前秒  
    int 秒=currentTime.Second;  
    1.8 取当前毫秒  
    int 毫秒=currentTime.Millisecond;  
    (变量可用中文)  

    1.9 取中文日期显示——年月日时分  
    string strY=currentTime.ToString("f"); //不显示秒  

    1.10 取中文日期显示_年月  
    string strYM=currentTime.ToString("y");  

    1.11 取中文日期显示_月日  
    string strMD=currentTime.ToString("m");  

    1.12 取中文年月日  
    string strYMD=currentTime.ToString("D");  

    1.13 取当前时分,格式为:14:24  
    string strT=currentTime.ToString("t");  

    1.14 取当前时间,格式为:2003-09-23T14:46:48  
    string strT=currentTime.ToString("s");  

    1.15 取当前时间,格式为:2003-09-23 14:48:30Z  
    string strT=currentTime.ToString("u");  

    1.16 取当前时间,格式为:2003-09-23 14:48  
    string strT=currentTime.ToString("g");  

    1.17 取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT  
    string strT=currentTime.ToString("r");  

    1.18获得当前时间 n 天后的日期时间  
    DateTime newDay = DateTime.Now.AddDays(100);  

    2、Int32.Parse(变量) Int32.Parse("常量")  
    字符型转换 转为32位数字型  

    3、 变量.ToString()  
    字符型 转换 转为字符串  
    12345.ToString("n"); //生成 12,345.00  
    12345.ToString("C"); //生成 ¥12,345.00  
    12345.ToString("e"); //生成 1.234500e+004  
    12345.ToString("f4"); //生成 12345.0000  
    12345.ToString("x"); //生成 3039 (16进制)  
    12345.ToString("p"); //生成 1,234,500.00%  


    4、变量.Length 数字型  
    取字串长度:  
    如: string str="中国";  
    int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名  

    5、System.Text.Encoding.Default.GetBytes(变量)  
    字码转换 转为比特码  
    如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);  
    然后可得到比特长度:  
    len = bytStr.Length;  

    6、System.Text.StringBuilder("")  
    字符串相加,(+ 号是不是也一样?)  
    如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");  
    sb.Append("中华");  
    sb.Append("人 民");  
    sb.Append("共和国");  

    7、变量.Substring(参数1,参数2);  
    截取字串的 一部分,参数1为左起始位数,参数2为截取几位。  
    如:string s1 = str.Substring(0,2);  

    8、 String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    取 远程用户IP地址  

    9、穿过代理服务器取远程用户真实IP地址:  
    if(Request.ServerVariables["HTTP_VIA"]!=null){  
    string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  
    }else{  
    string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    }  
    10、 Session["变量"];  
    存取Session值;  
    如,赋值: Session["username"]="小布什";  

    取值: Object objName=Session["username"];  
    String strName=objName.ToString();  
    清 空: Session.RemoveAll();  

    11、String str=Request.QueryString["变量"];  
    用超链接传送变量。  
    如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a>  
    在Edit.aspx页中取值:String str=Request.QueryString["fdid"];  

    12、DOC对象.CreateElement("新建节点 名");  
    创建XML文档新节点  

    13、父节点.AppendChild(子节点);  
    将新建的子节点加到XML 文档父节点下  

    14、 父节点.RemoveChild(节点);  
    删除节点  

    15、Response  
    Response.Write("字串");  
    Response.Write(变量);  
    向页面输出。  

    Response.Redirect("URL 地址");  
    跳转到URL指定的页面  

    16、char.IsWhiteSpce(字串变量,位数)——逻辑型  
    查 指定位置是否空字符;  
    如:  
    string str="中国 人民";  
    Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。  

    17、char.IsPunctuation('字符') --逻辑型  
    查字符是否是标点符号  
    如:Response.Write(char.IsPunctuation('A')); //返回:False  

    18、(int)'字符'  
    把字符转为数字,查代码点,注意是单引号。  
    如:  
    Response.Write((int)' 中'); //结果为中字的代码:20013  

    19、(char)代码  
    把数字转为字符,查代码代表的字符。  
    如:  
    Response.Write((char)22269); //返回“国”字。  

    20、 Trim()  
    清除字 串前后空格  

    21 、字串变量.Replace("子字串","替换为")  
    字串替换  
    如:  
    string str="中国";  
    str=str.Replace("国","央"); //将国字换为央字  
    Response.Write(str); //输出结果为“中央”  

    再如:(这个非常实用)  

    string str="这是<script>脚本";  
    str=str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原)  
    Response.Write(str); //显示为:“这是<script>脚本”  

    如果不替换,<script>将不显示,如果是一段脚本,将运 行;而替换后,脚本将不运行。  
    这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。  
    具体实现:将你的表单提交按钮脚本加上下面代码:  
    string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。  
    strSubmit=strSubmit.Replace("<","<font><</font>");  
    然后保存或输出strSubmit。  
    用此方法还可以简单实现UBB代码。  

    22、Math.Max(i,j)  
    取i与j中的最大值  
    如 int x=Math.Max(5,10); // x将取值 10  

    23、字串对比一 般都用: if(str1==str2){ } , 但还有别的方法:  

    (1)、  
    string str1; str2  
    // 语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:  
    if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }  

    (2)、  
    //语 法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    (3)、  
    // 语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.  

    24、 IndexOf() 、LastIndexOf()  
    查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如:  
    str1.IndexOf(" 字"); //查找“字”在str1中的索引值(位置)  
    str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的 索引值(位置)  
    str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在 str1中的索引值(位置)  

    25、Insert()  
    在字串中指定索引位插入指定字符。如:  
    str1.Insert(1," 字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”;  

    26、PadLeft()、 PadRight()  
    在字串左(或右)加空格或指定char字符,使字串达到指定长度,如:  
    <%  
    string str1="中国人";  
    str1=str1.PadLeft(10,'1'); //无第二参数为加空格  
    Response.Write(str1); //结果为“1111111中国人” , 字串长为10  
    %>  

    27、Remove()  
    从指定位置开始 删除指定数的字符  
    <%  
    string str1="我是萨达姆的崇拜者之一";  
    Response.Write(str1.Remove(5,4)); //结果为“我是萨达姆之一”  
    %>  

    转自:http://blog.csdn.net/kevin_ysu/article/details/6755814

  • 相关阅读:
    虚函数/纯虚函数/抽象类/接口/虚基类
    泛型编程
    C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains
    C++题解:Matrix Power Series ——矩阵套矩阵的矩阵加速
    C++矩阵加速经典题目:Warcraft III 守望者的烦恼 [vijos 1067]
    C++数论板题(弹药科技):Lengendre定理和欧拉函数
    Java并发工具包提供了哪些并发工具类
    Mac OS X系统深入了解--系统文件结构篇(二)
    Mac OS X系统深入了解--系统文件结构篇(一)
    Java Web(一) Servlet详解!!
  • 原文地址:https://www.cnblogs.com/xiaoshi657/p/4525124.html
Copyright © 2011-2022 走看看