摘要: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.StartWith、EndWith:像似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也熟悉,那就是合用的方法囉!