メイン画像

VBScript - スネークケースをキャメルケースに変換する

VBScript - スネークケースをキャメルケースに変換する


スネークケースをキャメルケースに変換するスクリプトを VBScript で作ってみます。

C# 版とやることは一緒で、アンダーバーを取り除いて各単語を連結するだけです。

キャメルケースへの変換スクリプト

'''
''' スネークケースをアッパーキャメルケースに変換します。
'''
Function SnakeToUpperCamel(ByVal snake)

    SnakeToUpperCamel = ""

    If Len(snake) = 0 Then
        Exit Function
    End If

    'アンダーバーで引数を分割する
    Dim splittedText
    splittedText = Split(snake, "_")

    Dim camel
    camel = ""

    Dim i
    For i = LBound(splittedText) To UBound(splittedText)
        Do
            Dim txt
            txt = splittedText(i)

            If Len(txt) = 0 Then
                Exit Do
            End If

            '単語の先頭を大文字化
            Dim ch1st
            ch1st = UCase(Left(txt, 1))

            Dim ch2ndOnwards
            ch2ndOnwards = ""

            '単語の2文字目以降を小文字化
            If Len(txt) >= 2 Then
                ch2ndOnwards = LCase(Mid(txt, 2))
            End If

            '変換結果を連結する
            camel = camel & ch1st & ch2ndOnwards
        Loop While False
    Next

    '変換結果を返す
    SnakeToUpperCamel = camel

End Function


'''
''' スネークケースをローワーキャメルケースに変換します。
'''
Function SnakeToLowerCamel(ByVal snake)

    SnakeToLowerCamel = ""

    'いったんアッパーキャメルケースに変換する
    Dim upperCamel
    upperCamel = SnakeToUpperCamel(snake)

    If Len(upperCamel) = 0 Then
        Exit Function
    End If

    '先頭文字だけ小文字にする
    Dim lowerCamel
    lowerCamel = LCase(Left(upperCamel, 1))

    '2文字目以降はそのまま使う
    If Len(upperCamel) >= 2 Then
        lowerCamel = lowerCamel & Mid(upperCamel, 2)
    End If

    '変換結果を返す
    SnakeToLowerCamel = lowerCamel

End Function

アッパーキャメルケースに変換するときは SnakeToUpperCamel 関数を使います。

ローワーキャメルケースに変換するときは SnakeToLowerCamel 関数を使います。

実行結果

C# 版と同じです。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事