C#中幾種常用的處理字串的方法總結
阿新 • • 發佈:2019-01-31
主要有以下幾種:
string[i]所獲得的元素是隻讀的。
string.ToCharArray() (把string獲得一個可寫的字元陣列)
string.Replace(old, new)(將字串中指定字元或者子字串做相應的替換)
string.ToLower(); string.ToUpper()(轉換字串大小寫)
string.Trim(); string.TrimStart(); string.TrimEnd()(剪下字串左右兩端的指定字元)
string.PadLeft(); string.PadRight()(在字串左右兩端新增指定長度的指定字元)
指定字元通常用定義一個新的字元陣列來統一實現
string.Split();(把字串轉換為一個字串陣列)
具體的分析如程式碼所示:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HandlerOfString { class Program { static void Main(string[] args) { Console.WriteLine("Please enter your testing string"); string str1 = Console.ReadLine(); //string實際上是一個只讀的字元陣列 char MyChar = str1[2]; foreach (char charactor in str1) { Console.WriteLine(charactor); } //這種方式只能讀取其值,但是不能給字串中的字元賦值 //這種方式是錯誤的:str1[1]='h'; //將string轉換成可讀寫的字元陣列進行處理(利用string.ToCharArray()方法) char[] charArray, charArray1; charArray = str1.ToCharArray(); //或者可以利用string.ToCharArray()方法擷取string中的一段,取其字元作為字元陣列的元素: charArray1 = str1.ToCharArray(4, 10); //可以通過string.Length屬性獲得字串中字元元素的個數。 for (int i = 0; i < str1.Length; i++) { Console.WriteLine("The {0} char elements of charArray is {1}", i, charArray[i]); } //但是,用字元陣列的方法ToString()卻不能返回字串,只能返回該字元陣列的型別名system.char[] string str2 = charArray1.ToString(); for (int j = 0; j < 10; j++) { Console.WriteLine("The {0} char elements of charArray1 is {1}", j, charArray1[j]); } Console.WriteLine("The new string is: /"{0}/"", str2); //ToLower()和ToUpper()以及string.Replace() //還可以通過ToLower()和ToUpper()的方法改變字串中字元的大小寫 string str3 = "I just want a Sagta"; if (str3.ToLower() == "i just want a sagta") { string str4 = str3.ToUpper(); //string.Replace(string str1, string str2)方法可以替換原來字串中的部分內容,達到想要的輸出效果。 Console.WriteLine("Oh, " + str4.Replace("I", "You")); //但是,字串是一種特殊的引用型別,它的使用類似於值型別。這裡並沒有改變字串str4本身,只是生成了一個副本。 Console.WriteLine(str4); Console.WriteLine("Ok, buy it befor next month!"); //可以把ToLower()和ToUpper()以及string.Replace()等字串操作的方法與字串合併使用,建立新的字串: string str3_1 = str3.ToLower(); string str3_2 = str3.ToUpper(); string str3_3 = str3.Replace("I", "You"); Console.WriteLine("/"" + str3_1 + "/" " + "/"" + str3_2 + "/" " + "/"" + str3_3 + "/" "); } //string.TrimStart(), string.TrimEnd()以及string.PadLeft()和string.PadRight() //還可以使用string.Trim()方法來對字串進行相應的剪下 string str5 = " Yeeeeees, you are"; string str6 = str5.TrimStart(); Console.WriteLine(str6); //定義個字元陣列,制定需要剪下的字元 char[] TrimCharArray = { 'e','a', ',' }; //注意,下面trim的剪下只能剪下掉字串始端或者末端的字元 string str7 = str5.Trim(TrimCharArray); Console.WriteLine(str7); //方法string.PadLeft()和string.PadRight()可以在字串的左邊或者右邊新增空格,或者新增指定的字元 string str8 = "Aligned"; str8 = str8.PadLeft(10, '_'); Console.WriteLine(str8); //下面有一個非常重要的方法:string.Split()方法,用來把string轉換為string陣列,把它按指定的位置分隔開。 string str9 = "This is the last test today"; string[] strArray = str9.Split(' '); foreach (string word in strArray) { Console.WriteLine("{0}", word); } Console.ReadKey(); } } }