c#.net常用字符串函数 字符串常用方法 string


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

string html = "

第二百三十六章 古神精神印记

"; var title = html.Split(new string[] { "

","

" }, 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["变量"];  
用超链接传送变量。  
如在任一页中建超链接:点击  
在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="这是