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 |
あ | あ | あ |
あいう_えお | あいう_えお | あいう_えお |
あいう_えお | あいうえお | あいうえお |
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。
この記事にコメントをしてみませんか?