2010年6月26日 星期六

split 分割字串的差異性

在.net 下的 split() 與 n.split 是截然不同的,須特別小心使用.
先來看看.net help 的註解說明:
(1) n.split
傳回字串陣列,這個陣列包含這個執行個體中,由指定的字串或 Unicode 字元陣列之元素所分隔的子字串。
Unicode 字元陣列 (可分隔這個執行個體中的子字串)、不包含分隔符號的空陣列、或 nullNothingnullptrNull 參照 (即 Visual Basic 中的 Nothing)。
(2)split()
傳回以零起始的一維陣列,其中包含指定數目的子字串。

以上比較過後,相信可看到 unicode 字元陣列的關鍵了;所以大家在使用上千萬別搞錯了!!
不然哪一天寫到要切割組合字串時,一直debug不到問題所在呀!!
底下使用一個範例來說明{差異性}:


程式碼:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox2.Text = TextBox1.Text.Split("東南轉偏東風")(0) + vbCrLf + "***" + vbCrLf + TextBox1.Text.Split("東南轉偏東風")(1)
TextBox3.Text = Split(TextBox1.Text, "東南轉偏東風")(0) + vbCrLf + "***" + vbCrLf + Split(TextBox1.Text, "東南轉偏東風")(1)
End Sub
End Class

沒有留言:

張貼留言