メイン画像

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

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


スネークケースをキャメルケースに変換する C# のプログラムを載せます。

アッパーキャメルケース(パスカルケース)、またはローワーキャメルケースに変換できます。

スネークケース、キャメルケースとはクラスや変数などの命名規則のことを言います。

それぞれの説明は以下のとおり。

スネークケース
単語と単語をアンダーバーでつなげる形式です。
e.g. hello_world
アッパーキャメルケース(パスカルケース)
それぞれの単語の最初を大文字で表す形式です。
e.g. HelloWorld
ローワーキャメルケース
アッパーキャメルケースとほぼ同じですが、こちらは先頭の文字のみ小文字で表します。
e.g. helloWorld

キャメルケースへの変換プログラム

/// <summary>
/// スネークケースをアッパーキャメルケースに変換します。
/// </summary>
/// <param name="snake"></param>
/// <returns></returns>
public static string SnakeToUpperCamel(string? snake)
{
    if (string.IsNullOrEmpty(snake))
    {
        return string.Empty;
    }

    return snake.Split(new[] { '_' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(s => char.ToUpperInvariant(s[0]) + s[1..].ToLowerInvariant())
                .Aggregate(string.Empty, (s1, s2) => s1 + s2);
}

/// <summary>
/// スネークケースをローワーキャメルケースに変換します。
/// </summary>
/// <param name="snake"></param>
/// <returns></returns>
public static string SnakeToLowerCamel(string? snake)
{
    if (string.IsNullOrEmpty(snake))
    {
        return string.Empty;
    }

    var upperCamel = SnakeToUpperCamel(snake);
    if (string.IsNullOrEmpty(upperCamel))
    {
        return string.Empty;
    }

    return upperCamel.Insert(0, char.ToLowerInvariant(upperCamel[0]).ToString()).Remove(1, 1);
}

アッパーキャメルケース(パスカルケース)に変換するには SnakeToUpperCamel メソッドを使います。

ローワーキャメルケースに変換するには SnakeToLowerCamel メソッドを使います。

実行結果

引数 引数→ローワーキャメルケース 引数→アッパーキャメルケース
null 空文字 空文字
空文字 空文字 空文字
_ 空文字 空文字
__a_b_c aBC ABC
A a A
a a A
HELLO hello Hello
hello hello Hello
HELLO_WORLD helloWorld HelloWorld
hello_world helloWorld HelloWorld
あいう_えお あいう_えお あいう_えお
あいう_えお あいうえお あいうえお

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


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


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


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

おすすめの記事