1. 程式人生 > >C#中幾種常用的處理字串的方法總結

C#中幾種常用的處理字串的方法總結

主要有以下幾種:

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();
        }
    }
}