该系列文章从关于C#,你应该知道的2000件事情翻译

6. 用Reverse方法反转一个字符串

stringfunnyMan="RoscoeArbuckle";stringbackwardsGuy=newstring(funnyMan.Reverse().ToArray());//backwardsGuy="elkcubrAeocsoR";

7. 使用String.Split把字符串分割成子字符串

stringnames="John,Mary,Elvis,Ringo";//names="John,Mary,Elvis,Ringo?I'mfine";//Split参数是数组,所以可以多个字符作为分隔符string[]nameList=names.Split(newchar[]{','});//newchar[]{',','?','\'',''}Console.WriteLine(nameList[0]);//JohnConsole.WriteLine(nameList[1]);//MaryConsole.WriteLine(nameList[2]);//ElvisConsole.WriteLine(nameList[3]);//Ringo

也可以使用循环来遍历string数组

stringnames="John-Mary-Elvis-Ringo";//Sameresultasbefore-wegetfournames,withoutspacesordashstring[]nameList=names.Split(newstring[]{"-"},StringSplitOptions.RemoveEmptyEntries);foreach(stringstrinnameList){Console.WriteLine(str);}

参数指定移除空格

8.字符串函数连在一起操作

char[]braces=newchar[]{'{','}'};strings="{This|That|Such}";s=s.Replace("|","and").Trim(braces).Insert(0,"=>").ToLower();Console.WriteLine(s);//=>thisandthatandsuch

可以将操作的字符串的函数在一行中实现

9. 通过Trim方法在字符串中减少前导和尾随字符

strings="Thecorephrase";//2leadingspaces,1trailings=s.Trim();//s="Thecorephrase"

注意:(1)Trim()方法默认只是去掉开头和结尾的空格,不会去掉字符串中间的空格。

(2)任何对字符串的操作,都不改变原字符串的值,都会返回一个新的实例,需要赋值给一个变量,才能得到对字符串操作结果的字符串。

也可以给Trim()方法附加参数,指定要截去的字符

strings="{Thecorephrase,}";s=s.Trim(newchar[]{'','{',',','}'});//s="Thecorephrase"s="{Doesn't{trim}internalstuff}";s=s.Trim(newchar[]{'','{','}'});//s="Doesn't{trim}internalstuff"


也可以通过TrimStart和 TrimEnd方法截去字符串的开头和结尾

strings="{Name}";char[]braces=newchar[]{'{','}'};strings2=s.TrimStart(braces);//s2="Name}"strings3=s.TrimEnd(braces);//s3="{Name"10. 插入和移除子字符串

可以通过String.Insert方法在一个字符串的任何位置插入一个子字符串。

strings="JohnAdams";intn=s.IndexOf("Adams");s=s.Insert(n,"Quincy");//snow"JohnQuincyAdams"

注意:字符串时不可变的,即使调用Insert方法,如果未把操作的结果赋给任何变量,对原字符串没有任何影响。

strings="JohnAdams";s.Insert(5,"Quincy");//Allowed,butsisnotchanged

可以通过String.Remove方法指定下标开始,指定长度的子字符串,字符串的下标从0开始。

strings="OHOLEne";s=s.Remove(1,4);//Startatposition1,remove4characters,Nowsis"One"