VBA:文字列の正規表現(3)指定した位置の数字、文字を変換・削除。「RegExp」の「Replace」利用
「Replace」を使うことで、文字列の先頭のみ変換したり、単語の前後に値を挿入したりすることができます。
※このオブジェクトを利用するには事前の準備が必要です。設定されていない可能性もあるので、ページの一番下の関連記事にある「事前準備(参照設定の設定)」を事前に確認してください。
3.先頭の文字を変換。「^」(カレット)を付ける
以下を実行すると、先頭の文字が一致した場合、値が変換されメッセージボックスに表示されます。
1 2 3 4 5 6 7 8 9 10 11 |
'先頭の文字を変換' Sub 動作チェック() Dim re As New RegExp re.pattern = "^a" '「^」を付けると文字列の先頭のみ一致するかどうか検証する' re.Global = True '対象を「#」に変換し、それ以外はそのまま表示' MsgBox re.Replace("abc123ada", "#") '→「#bc123adf」と表示されます' End Sub |
4.末尾の文字を変換。「$」(ドルマーク)を付ける
以下を実行すると、末尾の文字が一致した場合、値が変換されメッセージボックスに表示されます。
1 2 3 4 5 6 7 8 9 10 11 |
'末尾の文字を変換' Sub 動作チェック() Dim re As New RegExp re.pattern = "a$" '「$」を付けると文字列の末尾のみ一致するかどうか検証する' re.Global = True '対象を「#」に変換し、それ以外はそのまま表示' MsgBox re.Replace("abc123ada", "#") '→「abc123ad#」と表示されます' End Sub |
5.単語の境界に任意の値を表示。「¥b」
以下を実行すると、単語の境界に任意の値が追加され、メッセージボックスに表示されます。
1 2 3 4 5 6 7 8 9 10 11 |
'単語の境界に任意の値を表示' Sub 動作チェック() Dim re As New RegExp re.pattern = "¥b" '「¥b」を付けると文字列の境界に任意の値を表示する' re.Global = True '対象を「#」に変換し、それ以外はそのまま表示' MsgBox re.Replace("abc 123ada", "#") '→「#abc# #123ada#」と表示されます' End Sub |
◆関連記事
VBA:文字列の正規表現「RegExpオブジェクト」利用の事前準備
【VBA】文字列の正規表現「RegExpオブジェクト」利用の事前準備。参照設定の「Microsoft VBScript Regular Expressions 5.5」の設定方法
VBA:文字列の正規表現(3)指定した位置の数字、文字を変換・削除。「RegExp」の「Replace」利用
【VBA】文字列の正規表現(3)指定した位置の数字、文字を変換・削除。「RegExp」の「Replace」利用。
VBA:文字列の正規表現(2)指定した範囲の数字、文字を全て変換・削除。「RegExp」の「Replace」利用
【VBA】文字列の正規表現(2)指定した範囲の数字、文字を全て変換・削除。「RegExp」の「Replace」。指定した範囲の数字・文字をまとめて変換・削除ができます。