1. 程式人生 > >C#字串的定義和使用

C#字串的定義和使用


C#中的字元char和字串string幾乎說是差不多,但是有一點點的區別,

string(字元,次數)//這個是該字串重複的次數,例如:s=new string('a',1000);//就是重複1000次
例如:char[] ch = new char[] { 'F','o','l','u','n','t' };
//輸出的時候就是:Folunt   如果想要改變其中的一個字元,就使用ch=[0]='f';此時輸出的結果是folunt   
而字串其實就是“一串字元”,是字元就可以一個一個的訪問;
數組裡面可以通過訪問修改,但是字串是不能這樣修改的:例如:str1[1]='為';是錯誤的;
string型別的字串只能通過漸漸修改字串的中間字元
例如:

string str ="我是一個字串";
char[] ch=str.ToCharArray();
ch[1]='為';
str=new string(ch);
Console.WriteLine(str);

常見的字串的用法:
    1:字串大小寫轉換
        string<strName>.ToUpper();
        string<strName>.ToLower();
        例如:在等待使用者輸入的時候,常常不考慮使用者輸入的使用者名稱大小(或一個程式中規定使用的大小寫)
        可以將使用者的輸入全部轉換成小寫,或大寫再來進行比較
        如:
        Console.WriteLine("請輸入使用者名稱");
        string uid=Console.ReadLine().ToLower();//再將uid與系統中的資料進行比較;
    2:移除首尾指定字元
        方法原型
            string <strName>.Trim();//移除首尾的空格
            string<strName>.TrimStart();//移除開頭的空格
            string<strName>.TrimEnd();//移除結尾的空格;
        如果要指定移除的內容,可新增一個char陣列作為引數
            string <strnName>.Trim(char[] ch);
        例如:
            string str="abfcefcbcfa";
            //將首尾的abc全部去掉
            str=str.Trim('a','b','c');
            ///Trim裡面的順序沒有任何關係,輸出的結果是;str="fcefcbcf";
            ///在這裡,Trim工作的時候,會先查詢字串的前面的字元有沒有abc,一旦沒有,就開始從字串的後面開始檢測,中間的不做考慮;
    3:字串的比較方法
        1:Compare()方法:
            int res=string.Compare(string str1,string str2);
            按照字典排序比較
            當str1>str2時,返回1
            當str1=str2時,返回0
            當str1<str2時,返回-1
        2:Equals()方法
            bool <strName>.Equals(string str);
            比較如果相等就返回true,否則返回false
    4:字串的合併與分割
        合併Join方法
            將陣列str中的內容拼接成一個字串,並在對應陣列的每兩項間新增分隔符;
            例如:
                string[] strs = { "沒戲","卡卡","鄭大世","凹凸曼"};
                string str = string.Join("|",strs);
                Console.WriteLine(str);
        分割split方法
            將字串陣列中的字元分割,分割後得到的內容放到一個數組中
            例如:
                //分析下面這句話,提取這句話的單詞
                string str="Hello,How are you?";
                string[] words=str.Split(' ',','',''?');
                注:返回陣列中可以有空字串項,如果要去掉這些字串項,可以使用例如這樣的:
                string str="Hello,How are you?";
                string[] words=str.Split(new char [] {' ',',','?'},StringSplitOptions.RemoveEmptyEntries);
    5:字串的查詢
        Contains方法
            例如:Console.WriteLine("隨便輸入一串字母");
            string str =Console.ReadLine();
            if (str.Contains("abc"))
            {
                Console.WriteLine("字串{0}中包含{1}",str,"abc");
            }
            else
            {
                Console.WriteLine("字串{0}中不包含{1}",str,"abc");
            }
        IndexOf()方法//返回的是查詢的字元的位置;
            string str
[email protected]
"[email protected]";
            ///使用者名稱和域名
            int num =str.IndexOf('@');
            //int num1=str.LastIndexOf('@');這行程式碼是從後面忘前面查詢;
            string user=str.Substring(0,num);
            string field=str.Substring(num+1);
            ///Substring(開始的位置[,擷取字串長度])
            ///當有兩個引數的時候,從編號開始擷取,擷取長度為指定長度
            ///如果字串長度不及擷取長度,就會報錯
            ///當使用第一個引數的時候,那麼會從指定的位置開始,擷取後面所有的內容;
            string user=str.Substring (3);
            
            例2:
                //            0123456789
                string str="
[email protected]
@[email protected]";
                int num1=str.IndexOf('@',0);
                int num2=str.IndexOf('@',3);
                int num3=str.IndexOf('@',6);
                ///IndexOf使用就是從字串左邊開始找到由引數規定的字元,找到一個就返回一其位置
                
    6:字串的插入,移除和替換
        插入:
            string str="Folunt_Jion";
            string inser="我是一個插入進來的字串";
            str=str.Insert(1,inser);
            //則得到的新字串是str="F我是一個插入進來的字串olunt_Jion"
    7:判斷結束或開始
        判斷字元<strName>串是否以某字元開始或結束
            bool <strName>.StartsWith(string str);
            bool<strName>.EndsWith(string str);
    8:string.Format();使用的方法就是把引數裡面的組合拼接起來
        例如:Console.WriteLine("{0}{1}{2}",1,2,3);///得出的結果就是:123;是對引數裡面的拼接
        string str=string.Format("{0}{1}{2}","字串","拼接","123");//其實CW就是呼叫這個方法;