タイトル | : Re: 指定した文字列と文字列の間の文字列を取得する関数(VB6.0) |
記事No | : 14242 |
投稿日 | : 2009/11/10(Tue) 19:29 |
投稿者 | : 花ちゃん |
> 結果的に頑張って自作できたのでここに載せておきます。 見つからなかった場合等問題ありませんか? チョット試して見ました。
Option Explicit
Public Function Extex(Origin As Variant, LSideword As String, _ RSideword As String) As Variant Dim Dt As Variant Dt = InStr(Origin, LSideword) Dt = Mid(Origin, Dt + Len(LSideword), Len(Origin)) Extex = Dt Dt = InStr(Extex, RSideword) Extex = Mid(Extex, 1, Dt - 1)
End Function
Public Function Extex2(ByVal Origin As String, _ ByVal LSideword As String, ByVal RSideword As String) As String Dim Dt1 As Long Dim Dt2 As Long Dim LenN As Long Extex2 = "" LenN = Len(LSideword) Dt1 = InStr(Origin, LSideword) If Dt1 = 0 Then Exit Function End If Dt2 = InStr(Dt1 + LenN, Origin, RSideword) If Dt2 > 0 Then Extex2 = Mid$(Origin, Dt1 + LenN, Dt2 - (Dt1 + LenN)) End If '本来は、複数個見つかる場合も想定し最後まで検索する必要もあるかと。 '又、() 内の文字を取得したい場合等は、処理がもう少し複雑になります。 End Function
Private Sub Command1_Click() Debug.Print "Extex2 : " & Extex2("ACCD123EFGKH", "ABCD", "EFG") Debug.Print "Extex : " & Extex("ACCD123EFGKH", "ABCD", "EFG") Debug.Print "Extex : " & Extex("ACCD123GKH", "ABCD", "EFG") End Sub
結果 Extex2 : Extex : D123 エラー
|