2013年10月24日 星期四

分割字串Split

這裡分割的意思是
比如說有一個字串是
我是@豬與帥哥$的重合體^哈哈哈
我要把@$^給分割掉 這時候用Split這方法超好用
來看一下MSDN的語法,有如下幾種
String.Split 方法




來看第一個程式範例
語法如下public string[] Split(params char[] separator)















不多說,圖片簡單又明瞭!
注意的是
separator 的每個項目各定義一個分隔字元
就是一個字串陣列一個Empty, 那麼如果兩個分隔符號為相鄰
如下圖也就是兩個^就會多產生一個Empty
或是在此執行個體的開頭或結尾 找到一個分隔符號
則對應的陣列元素會包含 Empty
因為每個項目前跟後各有一個分割字元
其餘多的將會被推入空陣列     

請看下圖:因為兩個^造成兩個分割字元
一個是要給 "我是帥哥"的 於是 第二個空字串則推入陣列
 

        











要解決這問題也很簡單
給他一個foreach 跟一個if 判斷不等於""空字串時印出!



















而這裡還搭配一個Trim()方法用於清除空白字串
看下圖






我們也可以使用String.Split 方法 (Char[], StringSplitOptions)
來達到不回傳空字串的目的
語法如下
[ComVisibleAttribute(false)]
public string[] Split(char[] separator,StringSplitOptions options)
來看程式碼如下










啊在假如 今天判斷式改成string
可以用這個語法 如下

String.Split 方法 (String[], StringSplitOptions)

來看圖片吧!











不一樣的是 Scut 是一個字串唷!!


再來看最後一個例子
語法如下
String.Split 方法 (Char[], Int32)
或者
String.Split 方法 (String[], Int32, StringSplitOptions)

可以看到 第二個參數是一個 Int32 整數型態
用來限制回傳字串陣列的最大數目
如果是2 代表只有兩個陣列 0跟1
如果是3 代表只有三個陣列0,1,2
來看下圖 就能明白!!









看紅色箭頭!! 可以注意的是2
分別得到兩個陣列

再來看下圖 將參數改成3 出現三個陣列
因此可以清楚明白他的規則

沒有留言:

張貼留言