大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C#技巧 > C#字符串处理大全(详细)

C#字符串处理大全(详细)

关键词:C#字符串处理字符串操作  阅读(1105) 赞(42)

[摘要]本文主要介绍了使用C#对字符串进行处理的各种操作,其中包括字符串的比较,字符串的定位,字符串的格式化,字符串的截取,字符串的分裂等

比较字符串

String类提供了一系列的方法用于字符串的比较,如:CompareTo方法、Equals方法、StartsWith方法、EndsWith方法。

     CompareTo方法用于比较两个字符串是否相等。格式:

String.CompareTo(String);

     • 如果参数的值与此实例相等则返回0;如果此实例大于参数的值,则返回1;否则返回-1。例如:

string str1="abc";

int m1=str1.CompareTo("abc");

int m2=str1.CompareTo("ab");

int m3=str1.CompareTo("abcd");

       代码执行后,m1的值为0m2的值为1m3的值为-1

     Equals方法

     Equals方法是确定两个String对象是否具有相同的值。格式:

String.Equals(String);

如果参数的值与此实例相同,则为 true;否则为 false。例如:

string str1="abC",str2="abc",str3="abC";

bool b1=str1.Equals(str2);

bool b2=stri1.Equals(str3);

代码执行后,b1falseb2true

注意:Equals方法区分大小写。

 

定位字符及子串

定位字符串中某个字符或子串第一次出现的位置,使用IndexOf方法。格式:

String.IndexOf(String);

其中,参数为要定位的字符或子串。如果找到该字符,则为参数值的索引位置,从0开始;如果未找到该字符,则为-1;如果参数为Empty,则返回值为0。例如:

string str1="abcd";

int m1=str1. IndexOf ("b");

int m2=str1. IndexOf ("cd");

int m3=str1. IndexOf ("");

int m4=str1.IndexOf("w");

代码执行后,m1的值为1m2的值为2m3的值为0m4的值为-1

 

格式化字符串

.NET Framework 提供了一种一致、灵活而且全面的方式,使您能够将任何数值、枚举以及日期和时间等基本数据类型表示为字符串。格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值。例如,格式说明符指示是否应该用科学记数法来表示格式化的数字,或者格式化的日期在表示月份时应该用数字还是用名称。格式:

String Format(String,Object);

将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。例如:

//格式化为Currency类型

string str1 = String.Format("(C) Currency:{0:C}\n", -123.45678f);

//格式化为ShortDate类型

string str2 = String.Format("(d) Short date: {0:d}\n", DateTime.Now);

代码执行后,str1的值为¥-123.46str2的值为2007-3-19


截取字符串

Substring方法可以从指定字符串中截取子串,格式:

String.Substring(Int32,Int32);

子字符串从指定的字符位置开始且具有指定的长度。第一个参数表示子串的起始位置,第二个参数表示子字符串的长度。例如:

string str="Hello World!";

string str1=str. Substring (0,5);

代码执行后,str1的值为Hello

 

分裂字符串

Split方法可以把一个字符串,按照某个分隔符,分裂成一系列小的字符串。格式:

String[] Split(Char[]);

其中,参数为分隔字符串的分隔符数组。例如:

string str = "Hello.World!";

string[] split = str.Split(new Char[] { '.', '!'});

foreach (string s in split)

{

if (s.Trim() != "")

       Console.WriteLine(s);

}

代码执行后输出的结果为:Hello

                        World

 

插入和填充字符串

1.插入字符串

Insert()方法用于在一个字符串的指定位置插入另一个字符串,从而构造一个新的串。格式:

String Insert(Int,String);

其中,第一个参数指定所要插入的位置,索引从0开始;第二个参数指定要插入的字符串。例如:

string str = " This is a girl.";

str = str.Insert(10, "beautiful ");

代码执行后,str的值为This is a beautiful girl.

2.填充字符串

字符串通过使用PadLeft/PadRight方法添加指定数量的空格实现右对齐或左对齐。新字符串既可以用空格(也称为空白)进行填充,也可以用自定义字符进行填充。格式:

String PadLeft(Int,Char);

String PadRight(Int,Char);

其中,第一个参数指定了填充后的字符串长度;第二个参数指定所要填充的字符。第二个参数可以省略,如果缺省,则填充空格符号。例如:

string str = "Hello World!";

string str1=str.PadLeft(15, '@');

string str2 = str.PadRight(15,'@');

代码执行后,str1的值为@@@Hello World!str2的值为Hello World! @@@

 

删除和剪切字符串

1.删除字符串

Remove()方法用于在一个字符串的指定位置删除指定的字符。格式:

String Remove (Int,Int);

其中,第一个参数指定开始删除的位置,索引从0开始;第二个参数指定要删除的字符数量。例如:

string str = " This is a beautiful girl.";

str = str. Remove (10,10);

代码执行后,str的值为This is a girl.

2.剪切字符串

若想把一个字符串首尾处的一些特殊字符剪切掉,可以使用TrimTrimStartTrimEnd方法。格式:

String Trim(Char[]); //从字符串的开头和结尾处移除空白

String TrimStart (Char[]); //从字符串的结尾处移除在字符数组中指定的字符

String TrimEnd (Char[]); //从字符串的开头移除在字符数组中指定的字符

其中,参数中包含了指定要去掉的字符。Trim方法的参数可以缺省,如果缺省,则删除空格符号。例如:

string str = "*_*Hello World*_*";

string str2 = str.TrimStart(new char[] { '*','_' });

string str3 = str.TrimEnd(new char[] { '*','_'});

代码执行后,str1的值为Hello World*_*!;str2的值为 *_*Hello World!。


复制字符串

Copy方法可以把一个字符串方法复制到另一个字符串中。格式:

String Copy(String);

其中,参数为需要复制的源字符串,方法返回目标字符串。例如:

string str="Hello World!";// 源字符串

string newstr=String.Copy(str);//目标字符串

代码执行后,newstr的值为Hello World!。


替换字符串

Replace方法可以替换掉一个字符串中的某些特定字符或者子串。格式:

String Replace(String String);

其中,第一个参数为待替换的的子串;第二个参数为替换后的新子串。例如:

string str="It is a dog.";

str=str.Replace("dog","pig");

代码执行后,str的值为It is a pig.

String类中提供了很多关于字符串的操作的方法,每种方法还有多个重载形式。使开发人员可以更加方便的处理程序开发中对字符串的相关问题。



相关评论