天天看點

摘自《傳智播客.net課件》c#的字元串的處理

  字元串基礎 C# 中單個字元用單引号包含就是 char 類型,( 'a' ),單引号中放且隻能放一個字元。單個字元也可以表示為字元串,還可以有長度為 0 的字元串使用 s.Length 屬性來獲得字元串中的字元個數

  string 可以看做是 char 的隻讀數組。 char c = s[1]; 。例子:周遊輸出 string 中的每個元素。

  C# 中字元串有一個重要的特性: 不可變性 ,字元串一旦聲明就 不再可以改變。是以隻能通過索引來讀取指定位置的 char ,不能 對指定位置的 char 進行修改。

  如果要對 char 進行修改,那麼就必須建立一個新的字元串,用 s. ToCharArray () 方法得到字元串的 char 數組,對數組進行修改後 ,調用 new string(char[]) 這個構造函數(暫時不用細研究)來建立char 數組的字元串。一旦字元串被建立,那麼char 數組的修改 也不會造成字元串的變化。例子:将字元串中的 A 替換為 a 。

  誰說字元串不可變? string s = "abc";s="123" , s 這不是變了嗎

  要區分變量名和變量指向的值的差別。程式中可以有很多字元串,然後由字元串變量指向他們,變量可以指向其他的字元串,但是字元串本身沒有變化。字元串不可變性指的是記憶體中的字元串不可變,而不是變量不變。

  string s10 = s1;//s10 指向 s1 指向的字元串,而不是 s10 指向 s1 ,哪怕 s1以後指向了其他記憶體,那麼 s10 還是指向 "hello"

  字元串的常用函數 ToLower() :得到字元串的小寫形式。

  注意字元串是不可變的,是以這些函數都不會直接改變字

  符串的内容,而是把修改後的字元串的值通過函數傳回值

  的形式傳回。 s.ToLower() 與 s=s.ToLower()

  ToUpper() :得到字元串的大寫形式; Trim() 去掉字元串兩

  端的空白。

  s1.Equals(s2, StringComparison.OrdinalIgnoreCase) ,兩

  個字元串進行比區分大小寫的比較。

  字元串的分割 string[] Split(params char[] separator) :将字元串按照指定的分割符分

  割為字元串數組;

  string[] Split(char[] separator, StringSplitOptions options) 将字元串按照

  指定的 char 分割符分割為字元串數組( options 取RemoveEmptyEntries 的時候移除結果中的空白字元串);

  string[] Split(string[] separator, StringSplitOptions options) 将字元串按

  照指定的 string 分割符分割為字元串數組。

  例子 1 :從日期字元串( "2008-08-08" )中分析出年、月、日; 2008 年

  08 月 08 日。

  例子 2 :從一個記錄了學生成績的文本文檔,每個學生成績是一行,每

  行是用 | 分割的資料,用 | 分割的域分别是姓名、年齡、成績,寫程式取

  出成績最高學生的姓名和成績。參考:使用 string[] lines =System.IO.File.ReadAllLines(@"c:\root.ini" , Encoding.Default ); 從文本檔案讀取資料,傳回值為 string 數組,每個元素是一行。

  字元串替換: string Replace(string oldValue, string newValue )

  将字元串中的出現 oldValue 的地方替換為 newValue 。 例子:名

  字替換。

  取子字元串: string Substring(int startIndex) ,取從位置

  startIndex 開始一直到最後的子字元串;

  string Substring(int startIndex, int length) ,取從位置 startIndex

  開始長度為 length 的子字元串,如果子字元串的長度不足 length

  則 報錯。

  bool Contains(string value) 判斷字元串中是否含有子串 value

  bool StartsWith(string value) 判斷字元串是否以子串 value 開始;

  bool EndsWith (string value) 判斷字元串是否以子串 value 結束;

  int IndexOf(string value) : 取子串 value 第一次出現的位置。