<一> 创建新字符串
(1)Format:可以使String.Format方法来创建格式化字符串和连接表示多个对象的字符串。此方法自动将传递给它的任何对象转换为字符串。例如,如果应用程序必须向用户显示器Int32值和DateTime值,则可以很方便地使用Format方法来构造表示这些值了字符串。
int MyInt = 12;
string MyString = string.Format("MyInt={0},CurrentTime=:{1:u}.", MyInt, DateTime.Now);
Console.WriteLine(MyString);
程序运行结果:
(2)Concat:String.Concat方法可以用来方便地从两个或多个现有对象创建新的字符串。它用来连接字符串。此方法接受从System.Object衍生而来的任何类。以下例程用两个现有的字符串对象和一个分隔字符创建一个字符串。
string MyString="Hello";
string YourString="World!";
Console.WriteLine (String.Concat (MyString,' ',YourString ));
程序运行结果为:Hello World!
(3)Join:String.Join方法用一个字符串数组和一个分隔符串创建一个新的字符串。如果希望将多个字符串连接在一起,构成一个可能由逗号分隔的列表,则此方法非常有用。例:
string[] MyString={"Hello","and","welcome","to","my","world!"};
Console.WriteLine(String.Join(" ",MyString));
程序运行结果:Hello and welcome to my world!
(4)Insert:String.Insert方法通过将一个字符串插入到另一个字符串中的指定位置来创建一个新的字符串。此方法使用从零开始的索引。例:
string MyString="Once a time";
Console.WriteLine(MyString.Insert(4,"upon"));
程序运行结果:Once upon a time
(5)CopyTo:String.CopyTo方法将字符串的一部分复制到一个字符数组中。可以同时指定字符串的开始索引和要复制的字符数。引方法带四个参数,即源索引、字符数组、目标索引和要复制的字符数。所有索引都是从零开始的。例:
string MyString="Hello World!";
char[] MyCharArray={'W','h','e','r','e'};
Console.WriteLine("初始化的字符串数组为:{0}",new String(MyCharArray));
MyString.CopyTo(0,MyCharArrar,0,5);
Console.WriteLine("新的字符串数组是:{0}",new String(MyCharArray));
程序运行结果:初始的字符串数组为:Where
新的字符串数组是:Hello
<二> 剪切和移除字符
(1)Trim:删除字符串两端空白的字符。
(2)TrimStart:从字符串的开头处移除在字符数组中指定的字符。例:
string MyString = "Hello World!";
char[] MyChar={'e','H','l','o',''};
string NewString=MyString.TrimStart(MyChar);
Console.WriteLine(NewString);
程序运行结果:World!
(3)TrimEnd: 从字符串的结尾处移除在字符数组中指定的字符。
string MyStrng = "Hello World!";
char[] MyChar={'r','o','W','l','d','!',''};
string NewString=MyStrng.TrimEnd(MyChar);
Console.WriteLine(NewString);
程序运行结果:He
在此例子中,‘r’字符串和‘W’字符的位置反转,以阐释数组中字符的顺序并不重要。请注意,些代码移除MyString的最后一个单词和第一个单词的一部分。
string MyStrng = "Hello,World!";
char[] MyChar={'r','o','W','l','d','!',''};
string NewString=MyStrng.TrimEnd(MyChar);
Console.WriteLine(NewString);
程序运行结果:Hello
在此例子中,单词Hello后尾随一个逗号,而由于在要剪除的字符的数组中没有指定逗号,因此剪切在逗号处结束。
(4)Remove:从字符串中指定索引位置移除指定数量的字符。
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5, 10));
程序运行结果:Hello World!
些程序从字符串的从零开始的索引的第5个位置开始,从该字符串中移除10个字符。
<三> 填充字符串
(1)PadLeft:右对齐并填充字符串,以使字符串最右侧的字符到该字符串的开头为指定的距离。例:
string MyString = "Hello World!";
Console.WriteLine(MyString.PadLeft(20, '-'));
程序运行结果:--------Hello World!
此程序使用PadLeft方法来创建一个总长度为20个空间的新字符串。
(2)PadRight:左对齐并填充字符串,以使字符串最左侧的字符到该字符串的结尾为指定的距离。例:
string MyString = "Hello World!";
Console.WriteLine(MyString.PadRight(20, '-'));
程序运行结果:Hello World!--------
此程序使用PadRight方法创建一个总长度为20个空间的新字符串。
<四> 比较字符串
(1)Compare:比较两个字符中的值,返回整数值。当第一个字符串小于第二个字符串时返回负整数;当第一个字符串等于第二个字符串时返回0;当第一个字符串大于第二个字符串时返回1或正整数。此方法识别区域性。
string MyString = "Hello World!";
Console.WriteLine(string.Compare(MyString, "Hello World?"));
程序运行结果:-1
(2)CompareOrdinal:比较两个字符串而不考虑本地区域性,返回整数值。此方法的返回值与前一个方法Compare方法返回值相同。
string MyString = "Hello World!";
Console.WriteLine(string.Compare(MyString, "hello World!"));
程序运行结果:-32
(3)CompareTo:将当前字符串对象与另外一个字符串进行比较,返回整数值。此方法的返回值与前一个方法Compare返回值相同。
string MyString = "Hello World!";
string OtherString = "Hello Cruel World!";
int MyInt = MyString.CompareTo(OtherString);
Console.WriteLine(MyInt);
程序运行结果:1
此程序使用ComPareTo方法将MyString对象与OtherString对象进行比较。
(4)Equals:比较两个字符串是否相同,若相同则返回true,否则返回false。注意,比较的两个字符串区分大小写。
例1:此例使用Equals方法来确定一个字符串对象是否包含词组“Hell World”。
string MyString = "Hello World";
Console.WriteLine(MyString.Equals("Hello World"));
程序运行结果:true
例2:此方法也可以用做静态方法,下例使用静态方法比较字符串对象。
string MyString = "Hello World";
string YourString = "Hello World";
Console.WriteLine(string.Equals(MyString, YourString));
程序运行结果:true
(5)StartsWith:确定一个字符串对象中是否包含另一个字符串的同一组字符开始。如果包含则返回true,否则返回false。注意,字符串区分大小写
string MyString = "Hello World";
Console.WriteLine(MyString.StartsWith("Hello"));
程序运行结果:true
(6)EndsWith:此方法将传递的字符串与位于当前字符串对象结尾处的字符进行比较。如果包含相同部分则返回true,否则返回false。注意,字符串区分大小写。
string MyString = "Hello World";
Console.WriteLine(MyString.EndsWith("Hello"));
程序运行结果:false
(7)IndexOf:此方法用来确定指定的字符在字符串中第一次出现的位置。这个区分大小写的方法从字符串的开头开始计数,并使用从零开始的索引返回传递的字符的位置。如果无法找到该字符,则返回值-1。
下例使用IndexOf方法搜索“l”字符在字符串中第一次出现的位置。
string MyString = "Hello World";
Console.WriteLine(MyString.IndexOf("l"));
程序运行结果:2
(8)LastIndexOf:些方法类似于IndexOf方法,不同之处在于它返回特定字符在字符串中最后出现的位置。它区分大小写,并使用从零开始的索引。
下例使用LastIndexOf方法来搜索“l”字符在字符串中最后出现的位置。
string MyString = "Hello World";
Console.WriteLine(MyString.LastIndexOf("l"));
程序运行结果:9
<五> 更改大小写
(1)ToUpper:将字符串中的所有字符转换为大写。
string MyString = "Hello World!";
Console.WriteLine(MyString.ToUpper());
程序运行结果:HELLO WORLD!
(2)ToLower:将字符串中的所有字符转换为小写
string MyString = "Hello World!";
Console.WriteLine(MyString.ToLower());
程序运行结果:hello world!
<六> 提取/拆分字符串/获取字符串长度
(1)MyStr.Substring(StartInt,Count):在MyStr字符串中,从StartInt个字符开始提取Count个字符。Count可以省略,若省略Count则从StartInt个字符开始提取到最后。注意,StartInt索引从0开始。
(2)Split:在分析具有明显分隔字符(如逗号)的字符串时,对字符串进行拆分就显得非常有意义。要拆分字符串可以使用split方法,该方法的一种形式如下:
String[] Split(params char[]);
该方法中的参数用于指定字符串的分隔符,可以是一个或多个分隔符。该方法可按照指定的分隔符将字符串分隔为若干个子字符串,然后,将这些子字符串放入一个字符串数组中,该数组中的每个元素都是原字符串中的一个子字符串。
下面例子演示如何使用Split方法拆分指定的字符串
string words = "坚持,可以创造奇迹!不幸的是,很少有人,能够长时间地坚持下去,直至,奇迹发生。";
string[] split = words.Split(new char[] { ' ', ',', '!', '。' });
foreach (string s in split)
{
if (s.Trim() != "")
Console.WriteLine("\n" + s);
}
程序运行结果:
(3)MyStr.Length:获取MyStr字符串的长度。