您好,欢迎访问三七文档
一、字符串定义(引用类型)stringa;string[]abc=newstring[3];StringBuildersb=newStringBuilder();//声明一个字符串构造器实例二、字符串处理函数1字符串连接(1)+stringa=“Iam“;stringb=“agirl”;stringc=a+b;c=“Iamagirl”(2)String.Concat(paramsstring[]values)连接指定的数组元素s=A,B,C,D;string[]arr=s.Split(',');//arr={A,B,C,D}Console.WriteLine(string.Concat(arr));//将一个字符串数组连接成一个字符串,输出ABCD(3)Console.WriteLine(string.Join(,,arr));//以,作为分割符号将一个字符串数组连接成一个字符串,输出A,B,C,D(4)StringBuildersb=newStringBuilder();//声明一个字符串构造器实例sb.Append(A);//使用字符串构造器连接字符串能获得更高的性能sb.Append('B');Console.WriteLine(sb.ToString());//输出ABstringb=String.Concat(c.ToArray());//c为链表,函数功能是将c中元素复制到新数组,并将其连接成一个字符串(ToArray()功能是将链表元素复制到新数组中2提取字符串中的指定字符(1)字符访问stringa=“Hello”;charb=a[4];b=‘o’(2)string.Substring(intstartIndex,intlength)从实例中提取子字符串,子字符串从指定的位置开始且具有指定的长度stringa=“Iamagirl”;stringb=a.Substring(0,1);b=“I”(3)3字符串比较是否相等(1)intstring.CompareTo(stringstrB)将此实例与指定的string对象进行比较stringa=“345”;stringb=“345”;stringc=“467”;intr=a.CompareTo(b);比较a,b是否相等r=0intr=a.CompareTo(c);比较a,c是否相等r=-1(2)intString.Compare(stringstrA,intindexA,stringstrB,intindexB,intlength,StringComparisoncomparisonType)比较两个指定的对象的子字符串intr=String.Compare(a,0,b,0,3)比较a,b的前三个字符是否相等r=0intr=String.Compare(a,c)比较a,c是否相等r=-1(3)intString.CompareOrdinal(stringstrA,intindexA,stringstrB,intindexB,intlength)比较strA与strB的子字符串的数值若子字符串相等则返回0,若不等则返回不等字符的差值。(4)boolstring.Equals(stringvalue);strings=”ab”;boolflag=s.Equals(“ac”);//比较两字符串是否相等,相等返回true否则返回falseString.Equals(stringa,stringb);boolflag=String.Equals(“as”,”dd”)//比较两字符串是否相等,相等返回true否则返回false4字符串大小写转换(1)把字符串转换为小写形式string.ToLower()stringa=“AFB”;stringb=a.ToLower();b=“afb”(2)把字符串转换为大写形式string.ToUpper()stringa=“adf”;stringb=a.ToUpper();b=“ADF”5拆分字符串为字符串数组string.Split()stringa=“Iamagirl”;string[]b=a.Split(‘‘);b={I,am,a,girl}string[]b=a.Split(newstring[]{““,”\t”},StringSplitOptions.RemoveEmptyEntries);stringa=“Iamagirl”;Regexregex=newRegex(@”()+”);string[]b=regex.Replace(a,”“).Split(newstring[]{““,”\t”},StringSplitOptions.RemoveEmptyEntries);b={I,am,a,girl}RemoveEmptyEntries返回值不包含含有空字符串的数组元素6拆分字符串为字符数组s=ABCD;char[]arr=s.ToCharArray();//把字符串打散成字符数组{'A','B','C','D'}7字符替换(用另一个字符或字符串替换字符串中给定的字符或子字符串)(Replace)s=A_B_C_D;Console.WriteLine(s.Replace('_','-'));//把字符串中的'_'字符替换为'-',输出A-B-C-DConsole.WriteLine(s.Replace(_,));//把字符串中的_替换为空字符串,输出ABCD8删除字符串的首尾空白(Trim)s=__AB__CD__;Console.WriteLine(s.Trim('_'));//移除字符串中头部和尾部的'_'字符,输出AB__CDConsole.WriteLine(s.TrimStart('_'));//移除字符串中头部的'_'字符,输出AB__CD__Console.WriteLine(s.TrimEnd('_'));//移除字符串中尾部的'_'字符,输出__AB__CD9字符串与值类型转换stringa=“234”;intb=235;stringc=b.ToString();以字符串的形式获取bc=“235”intd=int.Parse(a);判断字符串a是否是数字,若a非数字,则出现异常d=23410截取子串(Substring)s=ABCD;Console.WriteLine(s.Substring(1));//从第2位开始(索引从0开始)截取一直到字符串结束,输出BCDConsole.WriteLine(s.Substring(1,2));//从第2位开始截取2位,输出BC11匹配索引(IndexOf())s=ABCABCD;Console.WriteLine(s.IndexOf('A'));//从字符串头部开始搜索第一个匹配字符A的位置索引,输出0Console.WriteLine(s.IndexOf(BCD));//从字符串头部开始搜索第一个匹配字符串BCD的位置,输出4Console.WriteLine(s.LastIndexOf('C'));//从字符串尾部开始搜索第一个匹配字符C的位置,输出5Console.WriteLine(s.LastIndexOf(AB));//从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出3Console.WriteLine(s.IndexOf('E'));//从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出-1;Console.WriteLine(s.Contains(ABCD));//判断字符串中是否存在另一个字符串ABCD,包含输出true,否则输出false12填充对齐(PadLeft和PadRight)s=ABCD;Console.WriteLine(s.PadLeft(6,'_'));//使用'_'填充字符串左部,使它扩充到6位总长度,输出__ABCDConsole.WriteLine(s.PadRight(6,'_'));//使用'_'填充字符串右部,使它扩充到6位总长度,输出ABCD__13插入和删除(Insert和Remove)s=ADEF;Console.WriteLine(s.Insert(1,BC));//在字符串的第2位处插入字符串BC,输出ABCDEFConsole.WriteLine(s.Remove(1));//从字符串的第2位开始到最后的字符都删除,输出AConsole.WriteLine(s.Remove(0,2));//从字符串的第1位开始删除2个字符,输出EF14格式化(静态方法Format)Console.WriteLine(string.Format({0}+{1}={2},1,2,1+2));Console.WriteLine(string.Format({0}/{1}={2:0.000},1,3,1.00/3.00));Console.WriteLine(string.Format({0:yyyy年MM月dd日},DateTime.Now));15换字符(串)(Replace)s=A_B_C_D;Console.WriteLine(s.Replace('_','-'));//把字符串中的'_'字符替换为'-',输出A-B-C-DConsole.WriteLine(s.Replace(_,));//把字符串中的_替换为空字符串,输出ABCD16判断字符串是否包含指定字符串中(Contains)str1.Contains(str);17反转数组元素Array.Reverse(数组对象,起始索引,反转的元素数量)Stringstr=“C#词典很经典”char[]P_char=str.ToCharArray();//从字符串中得到字节数组Array.Reverse(P_chr,0,str.Length);//反转字节数组字节顺序str=newStringBuilder().Append(P_char).ToString();//将字节数组转换为字符串并输出三、字符串类型与值类型转换1值类型转换为字符串类型stringa=“234”;intb=235;stringc=b.ToString();以字符串的形式获取bc=“235”2字符串类型转换为值类型intd=int.Parse(a);判断字符串a是否是数字,若a非数字,则出现异常d=234intb;int.TryParse(a,outb);将数字的字符串表示形式转换为它的等效32位有符号整数,若转换成功返回1,不成功返回0
本文标题:C#字符串操作大全
链接地址:https://www.777doc.com/doc-4702276 .html