VB .NET 個人常用字串處理函式(String.Format 、Split、StartWith、EndWith、Trim)

  • 32413
  • 0

摘要:VB .NET 個人常用字串處理函式(String.Format 、Split、StartWith、EndWith、Trim)

這些函式是本人常用來處理一些字串輸出/輸入時的需求,當然啦~如果你夠強的話可以全用Regex來做,那你就不用理會我下列所講的了...

 

1.Split:用來分割字串,回傳字串陣列

簡單範例:


Dim TestDate As String = "王大明、李小蟬、陳同、王太太、陸天天"
Dim DateArray As String() = TestDate.Split("、")
For Each st In DateArray
    Console.WriteLine(st)
Next

這個還可以加入參數StringSplitOptions.RemoveEmptyEntries,用來移除分割後空白的集合元素,如果這個再加上擴充方法或Linq,整個操作度就很棒了...例如...


Dim tmp As String = (From p In DateArray Where p.Length = 2 Select p).Single()

這個範例只是把分割後的集合元素中長度等於2的挑出來,然後你可以下很多條件來作篩選。

2.StartWithEndWith:像似sql語法中 like "%XXX" / like "XXX%"


For Each st In DateArray
            'Debug.WriteLine(st)
            If st.StartsWith("王") Then
                Console.WriteLine(st)
            End If

      Next

輸出所有姓氏為王的人,EndsWith即為反之

3.Trim / TrimEnd / TrimStart:去除字尾或是字頭的字元

此函式我較常使用TrimEnd,由其從資料庫讀取資料或是網路傳輸的字串資料,常有一堆無義的字元結尾

4.String.Format:此函式如果早期寫C的人就會比較愛用,而且我也覺得它挺好用的

它就像早期我們寫printf("%d blabla %d...",varA,varB),只是它變成String.Format("{0} blabla {1}",varA,varB),使用{0},來指變數,像printf的話那就很多變化了,詳細的可以看msdn,這邊也提供一個簡單例子...


Dim year As Integer = 2010
        Dim mon As Integer = 11
        Dim day As Integer = 6
        Console.WriteLine(String.Format("{0}-{1}-{2:00}", year, mon, day))

這裡是一個簡單的將整數變數作字串的輸出結果為 "2010-11-06",這裡特別的有{2:00},就是如果輸出欄位不足兩個的時候,就補0,這個相信也常遇到,如果這個還要用if-else判斷,那就太麻煩了。

此外更走火路魔的話,你可以彷sprintf,就是輸出到別的字串上,如 dim str as String = String.Format("bla...")

以上算是初學時的一些經驗,往後的日子也常用,其實方法有很多,就看各位客倌愛用什麼了,其實只要用得習慣,然後跟你開發的team member也熟悉,那就是合用的方法囉!