文字操作 文字中の指定文字と指定文字間の文字を全て検索

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

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][文字操作 文字中の指定文字と指定文字間の文字を全て検索]

Sub SearchAllLettersBetween(str As String, strFoundFront As String, strFoundBack As String)
'************************************************
'文字中の指定文字と指定文字間の文字を全て検索
'************************************************
'引数strは対象文字群
'引数strFoundFrontは前方検索対象文字
'引数strFoundBackは後方検索対象文字

'<例>
'str = "zyzyzyzabc="def"zyzyzyzabc="ghij"zyz"
'strFoundFront = "abc="
'strFoundBack = """"
'返値は [abc="def"] と[abc="ghij"] になります。

'<解説>
'Replace関数で一度検索したものは全て消すところがミソ!
'検索文字がなくなるまで実行します。
'書き出したい場合は[Debug.Print Xa]の個所を改変してください。

Dim i As Long, Xa As String, Xb As Long

reTRY: '再帰@
i = InStr(1, str, strFoundFront) '前方検索対象文字位置
If i = 0 Then GoTo TheEnd: '無ければ終了A
Xb = InStr(i + Len(strFoundFront) + 1, str, strFoundBack) '後方検索対象文字位置
Xa = Mid(str, i, Xb - i + 1) '値をゲット
Debug.Print Xa
str = Replace(str, Xa, "") 'ゲット後は削除する(対象文字群内全て)

GoTo reTRY: '再帰@
TheEnd: '無ければ終了A
End Sub





Production Japan Import Application. Since 1998