Case
ケース変換ツール
camelCase、snake_case、kebab-case などの表記に変換。
ケース変換について
言語コミュニティごとに命名スタイルが定着しているため、同じ概念でも環境によって userName、user_name、user-name と書き分けられます。このツールは入力を単語に分解し(既存の camelCase の切れ目、アンダースコア、ハイフン、空白のいずれも認識します)、各スタイルで組み立て直します。アクセント付き文字や非ラテン文字はそのまま保持されます。
数字はそれ自体が独立したトークンになるのではなく、隣接する単語にくっつきます。address2Line は「address」「2」「Line」ではなく「address2」と「Line」に分割され、これは address2 や v2Config のような番号付き識別子をほとんどのスタイルガイドが扱う方法と一致します。この単語分割ロジックは固定の辞書ではないため、一度も見たことのない名前も処理できます。入力スタイルのいずれであっても、複合識別子に見えるものは正しく変換されます。
使われる場面
- 言語間でコードを移植する際に変数名を付け替える
- 列見出しをデータベースの項目名や JSON のキーに変換する
- タイトルから URL スラッグや CSS クラス名を作る
- コードレビュー前に不揃いな命名を整える
よくある質問
単語はどのように判定されますか?
空白・アンダースコア・ハイフン・記号のほか、小文字の次に大文字が来る位置でも区切ります。大文字の連続はまとめて扱うため、HTTPServer は「H T T P Server」ではなく「HTTP Server」になります。
UPPERCASE や Title Case で記号が残るのはなぜですか?
これらは文章向けのスタイルで、文字の大小だけを変え、それ以外はそのままにします。camelCase や snake_case などの識別子向けスタイルは、多くの識別子で記号が使えないため取り除きます。
入力したテキストはサーバーに送られますか?
いいえ。このツールは完全にブラウザ内で動作し、テキストが端末から出ることはありません。
address2Line や v2Config のような識別子の中の数字はどう扱われますか?
数字はそれ自体が独立した単語になるのではなく、直前の単語にくっついたままになります。address2Line は「address2」と「Line」に分割され、v2Config は「v2」と「Config」に分割されます。これは、番号付きフィールドやバージョン付きの名前をほとんどのスタイルガイドがすでに扱っている方法を反映しており、address2Line を snake_case に変換すると address2_line になり、より不自然な address_2_line にはなりません。