HairCut

HairCut 函式用來檢查一個字串的首尾是否包含某串字,並消除之。其中,參數AllClear 用來判別是否只刪減一次;參數Front 表示是否處理字串前端;參數Back 表示是否處理字串後端。

]Function HairCut(ByVal Origin As String, ByVal Mark As String, Optional ByVal AllClear As Boolean = True, Optional ByVal Front As Boolean = True, Optional ByVal Back As Boolean = True) As String

]If ((Origin = Nothing) Or (Mark = Nothing)) Then

]Return Nothing

]End If

]Dim Has As Boolean = True

]Do Until Not Has

]Has = False

]If Not (Len(Mark) <= Len(Origin)) Then

]Return Origin

]End If

]If (Front And (Mid(Origin, 0 + 1, Len(Mark)) = Mark)) Then

]Origin = Mid(Origin, Len(Mark) - 1 + 1 + 1)

]Has = True

]End If

]If Not(Len(Mark) <= Len(Origin)) Then

]Return Origin

]End If

]If (Back And (Mid(Origin, Len(Origin) - Len(Mark) - 1 + 1 + 1) = Mark)) Then

]Origin = Mid(Origin, 0 + 1, Len(Origin) - Len(Mark))

]End If

]If Not (AllClear) Then

]Has = False

]End If

]Loop

]Return Origin

]End Function

]

]MsgBox(HairCut("testtestTESTtesttest", "test")) //將前後的"test" 都刪除。MsgBox 裡顯示"TEST"。

]MsgBox(HairCut("testtestTESTtesttest", "test", False)) //只刪減一次。MsgBox 裡顯示"testTESTtest"。

]MsgBox(HairCut("testTtestTtest", "test)) //HairCut 只會刪除前後的"test"。MsgBox 裡顯示"TtestT"。

]MsgBox(HairCut("testTESTtest", "test", , False)) //不處理字串前端,也就是前面的"test" 不刪除。MsgBox 裡顯示"testTESET"。

]MsgBox(HairCut("testTESTtest", "test", , , False)) //不處理字串後端,也就是後面的"test" 不刪除。MsgBox 裡顯示"TESTtest"。

文章標籤
全站熱搜
創作者介紹
創作者 GPhettoH 的頭像
GPhettoH

歇息,等待明日的天空

GPhettoH 發表在 痞客邦 留言(0) 人氣(0)