2008年5月18日 星期日

C# String 類別的應用

http://richielin-programer.blogspot.com/2008/05/c-string.html

顧名思意,String 類別就是來處理字串的應用
它提供了一堆靜態方法 (Static Method) 來處理字串相關
以下介紹一些平時很實用的功能

字串的比較

Compare 方法會回傳整數值,來表示兩個字串的關聯性
正數表示第一個字串大於第二個字串
負數表示第一個字串小於第二的字串
零值表示兩個字串相等

字串中搜尋字元或子字串

當我們必須想知道某字串中是否有特定字串或字元時
可以使用 String 類別的 IndexOf 方法來傳回特定字串 (字元) 在字串中的索引位置
另外,我們也可以利用 LastIndexOf 方法於字串中從後往前找到特定字串並回傳索引位置
PS. 索引位置由 0 開始
PS. 在 .NET Framework 下每個中文字都算一字元,而不再是 ASCII 時代的兩字元了
PS. LastIndexOf 方法和 IndexOf 一樣回傳索引位置,一樣搜尋特定字串,只不過 IndexOf 方法是由前往後找,但 LastIndexOf 方法是由後往前找

字串轉換大小寫

ToUpper 及 ToLower 方法可以將字串全部轉換成大寫或小寫
並將結果回傳成新的字串

去除或添加字串前後空白字元或特定字元

我們可以用 Trim 方法去除字串前後的空白字元
而 TrimStart 及 TrimEnd 可以只移除前後的空白字元
另外 Trim, TrimStart, TrimEnd 方法除了可以移除空白字元外,還可以移除一個或多個字元

字串前後添加空白字元或特定字元

PadLeft 及 PadRight 方法則和上例功能相反 - 將字串前後補上空白字元或特定字元
方法中第一個參數則是決定補上字元後的總長度
如果原字串就比第一個參數小了,則就不補上字元了

在字串中插入字串、移除字串和取代字串

我們可以用 Insert, Remove, Replace 來處理字串的插入、移除、取代
這三個方法用法還滿直覺簡單
PS. Remove 只可以移除指定位置的指定長度字串,而無法帶入要移除的字串
但是其實可以利用 Replace 來做指定字串的移除

串連字串陣列及分隔

這兩個方法 Join 及 Split 但很少人用但很實用
尤其是 join 方法,因為有許多組合方法可以取代它的功能
雖然 Join 其有所限制,如串連前必須得知所有的字串,而不能將字串持續串連下去
但其實在某些場合之下還滿好用的
PS. Join 方法遇到字串陣列中有空字串時,還是會串連進回傳的字串中

取得子字串

最後一個方法,也是很常用很實用的方法 - 取出子字串 Substring 方法
相信不用天秤多說,直接看例子就會了

1 意見:

Gene 提到...

雖然這樣是很聰明的判定,但再作基本的計算時讓我遇到了問題...

我有個程式想檢查格式是否正確,只需用確認空白位置的方式來檢查是否正確就可以了...
在試著輸出各位置的字元時,我發現在 C# 中,中文字元被判定成 1 個字元,並不是 2 個。

結果這樣沒辦法空白的位置就不固定,沒辦法作檢查了...