C# 字串處理

來源:互聯網
上載者:User

標籤:

  C#編程中,對字串的處理措施非常多,比如去除字串兩端的空格 【trim】、去除字串兩端的字元‘0‘,給字串用某個字元補齊一定長度【padleft,padright】等等。

   由於這段時間項目上用的比較多,基於此,把對字串中的一些常用的東西總結一下。

   用 str 代表一個字串。

   1.字串的長度

        str.Length;    

   2.擷取字串中的每個字元:

       這裡有必要說到一個函數,剛看到的,挺興奮的,ToCharArray(),功能下面說。

       string類型變數可以看成是char變數的唯讀數組,所以可

        以通過ToCharArray()擷取每個字元放到一個字元數組中,下面舉個小例子: string str="I am a student";
                       char[] myChar = str.ToCharArray();

  3.字串中字元的大小寫轉換:

     str.ToLower(); str.ToUpper() 。

   4.字串中去空格等

    str.Trim();取出字串的所有前置和尾部的所有空格(不包括中間的)。也可以刪除其他字元,只要在一個char數組中指定這些字元即可。舉個小例子吧。

   

1       string str="   I am A student ";2       char[] TrimChars={‘ ‘,‘t‘,‘I‘};3       str = str.Trim(TrimChars);4       Console.WriteLine(str);       

    輸出:am A studen

    Trim()只能去除字串首尾所有制定的字元。

    TrimStart(),  TrimEnd(),類似於Trim()。

   下面說兩個可以添加空格的方法,str.PadLeft();str.PadRight(),有兩個重載的方法。

    str.PadLeft(20),指定新字串的長度為20,str.PadLeft(20,‘#‘),除了指定長度,位元不夠時用‘#‘補。這兩個方法用於對齊字串。

  5.字串比較大小:

  string.Compare(str1, str2);

   這個不是比較長度,傳回值有三個,str1>str2,結果為1;< 結果為-1;= 結果為0。"stu">" stu"。若是只比較兩個字串是否相等,用str1.Equals(str2),返回true和false。

  6.尋找一個字串中是否包含指定的字串。

  public bool Contains(string str1); 例:if(str.Contains("abc")){  .....   }

 

  7.求某個字元或子串在字串中出現的位置。

  

1   string str="student";23    str.IndexOf("tu"); 
str.IndexOf("t");
str.IndexOf(‘t‘);

   傳回值都是1。

   另一種重載方式:public int IndexOf(string str,int startIndex);

   這兩種方法若沒尋找到,傳回值是-1.

   LastIndexOf()用法與IndexOf()相同,只是尋找方向相反,但是還是從前面算起。

   如:int i= str.LastIndexOf(‘n‘); i的值為5。

  8.截取字串:

    兩種重載方式

      1、str.Substring(3);一個參數表示從下標為3的字元開始截取到最後。

      2、str.Substring(1,3);兩個參數表示從下標為2的字元開始,截取長度為3的子串。

   9.字串的插入,刪除,替換。

     插入:public string Insert(int startIndex,string value); 只有這一種重載方式。

     刪除:public string Remove(int startIndex); 刪除從startIndex到結尾的字元。

             public string Remove(int startIndex,int count);刪除從startIndex開始長度為count的字元。

     替換:public string Replace(string oldString,string newString);

              public string Replace(char oldChar, char newChar);

  10.字串的合并,這個用的不多。

     

1  string[] arr={"I","am","a","student"};2  Console.WriteLine(string.Join("@", arr));

 

  輸出:[email protected]@[email protected]

  11.Split()方法。這個用的也很多。

     public string[] Split(char[] separator);

     1、用字串分隔: 
      
1 using System.Text.RegularExpressions;2 string str="aaajsbbbjsccc";3 string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);4 foreach (string i in sArray) Response.Write(i.ToString() + "<br>");

    輸出結果:
    aaa
    bbb
    ccc

   2、用多個字元來分隔:

1 string str="aaajbbbscccjdddseee"; 2 string[] sArray=str.Split(new char[2] {‘j‘,‘s‘}); 3 foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 
    輸出結果:
    aaa
    bbb
    ccc
    ddd
    eee
 3、用單個字元來分隔:
1 string str="aaajbbbjccc";2 string[] sArray=str.Split(‘j‘);3 foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
  輸出結果: 
   aaa
   bbb
   ccc

C# 字串處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.