Aという文字を、Aという文字パターンで認識してみる。

昨日は、Aという文字をAという文字で分割してみた。
infoment.hatenablog.com

今日はAという文字を、Aという文字パターンで認識してみる。
f:id:Infoment:20200130220411j:plain

↑ のように書くと、何だか良く判らない。しかし何のことはない、今度は正規表現で指定文字を数えてみようってだけの話だ。
ja.wikipedia.org

ということで、昨日の関数を書き換えてみた。

Function CountCharacter(source_char As String, count_char As String) As Long
    ' 正規表現。
    Dim myReg As Object
    Set myReg = CreateObject("VBScript.RegExp")
        ' 文字列全体を検索。
        myReg.Global = True
        ' 検索パターン。
        myReg.Pattern = count_char

    ' MatchCollection
    Dim mc As Object
        If myReg.TEST(source_char) Then
            Set mc = myReg.Execute(source_char)
            CountCharacter = mc.Count
        End If
End Function

昨日と同じ結果が得られた。
f:id:Infoment:20200130220918p:plain

これだけなら、わざわざ正規表現を使う必要は無い。昨日のSplit関数で、充分だ。この方式の特徴は、パターンを指定して数えることができるということ。例えば、こんな感じで。
f:id:Infoment:20200130221234p:plain

これはこれで、面白いかも。

参考まで。