文字操作 バイナリモードで指定文字列から指定文字を抜き出す

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][文字操作 バイナリモードで指定文字列から指定文字を抜き出す]
Option Explicit


Function CharacterFind(ByVal Character As String, _
ByVal FirstStr As StringByVal LastStr As StringAs String
'****************************************************
'バイナリモードで指定文字列から指定文字を抜き出す
'****************************************************
'どちらか一方でも見つからない場合は=""を返します。
'引数LastStrの文字は、引数FirstStrの文字の後から探します。
'引数LastStrは引数FirstStrの文字の次の文字からの検索になります。
Dim i As Long, n As Long
i = InStr(1, Character, FirstStr, vbBinaryCompare)
If i = 0 Then CharacterFind = "": Exit Function
n = InStr(i, Character, LastStr, vbBinaryCompare)
If n = 0 Then CharacterFind = "": Exit Function
CharacterFind = Mid(Character, i, n + Len(LastStr) - i)
'<モードの違い>
'┌─────────┬───┬────┬────┐
'│内容              │例    │バイナリ│テキスト│
'├─────────┼───┼────┼────┤
'│大文字/小文字     │A/a   │異      │同      │
'│全角/半角         │A/A  │異      │同      │
'│ひらがな/カタカナ │あ/ア │異      │同      │
'└─────────┴───┴────┴────┘
End Function


Private Sub test()
Dim a As String
a = "ちワあ  dい うえおちワkoんにちワお元気zですか"
'「ちワ」は3つ目をヒットさせます。
Debug.Print CharacterFind(a, "ko", "ちワ")
'koんにちワ
End Sub





Production Japan Import Application. Since 1998