§

テキストを貼り付け

§

すべてのケース

text
  • camelCase
  • PascalCase
  • snake_case
  • CONSTANT_CASE
  • kebab-case
  • dot.case
  • path/case
  • Title Case
  • Sentence case
  • lower case
  • UPPER CASE

命名規約はコードベースの文化を映します。楽天技術研究所の Java/Kotlin スタイル、メルカリのモノレポにおける Go と TypeScript の命名規約、サイバーエージェント AI Lab の Python リポジトリでは PEP 8 に基づく snake_case を厳守し、経済産業省「IT 人材育成」標準教材や情報処理推進機構 (IPA) の安全なコーディング・プラクティスでも CONSTANT_CASE の使用を推奨しています。日本工業規格 JIS X 0203 (情報処理用語) の命名指針、東京大学・京都大学・東工大の計算機科学カリキュラムでも camelCase と snake_case の使い分けが明示されており、現場では本ツールのような一括変換が日常的に役立ちます。

テキストのケース変換とは?

テキストのケース変換は、入力文字列を受け取り、同じ単語を別の大文字小文字規約で出力します。最もよく使われるのは camelCasePascalCase(多くの中括弧系言語の識別子)、snake_caseCONSTANT_CASE(Python、Ruby、Rust、C マクロ)、kebab-case(URL、CSS クラス名、HTML 属性、npm パッケージ名)、dot.case(設定キー、JavaScript オブジェクトパス)、path/case(ファイルシステム風の識別子)、Title CaseSentence case(見出しや文章)、それに完全な lower caseUPPER CASE です。本変換ツールは入力中の自然な単語境界 — 空白、ハイフン、アンダースコア、ドット、スラッシュ、そして helloWorld 型識別子を区切る小文字→大文字の遷移 — を検出し、各ターゲットケースに必要な区切り文字と大文字小文字のパターンで再構成します。

ケース変換はどのように動作しますか?

入力は小さなバニラ JavaScript のトークナイザと 11 個のケース整形器によって、すべてブラウザ内で処理されます。大まかな手順は次のとおりです:

  1. 入力はテキストエリアからそのまま読まれます — 貼り付けたバイト列はすべてローカルのメモリに保持されます。
  2. トークナイザは空白、アンダースコア、ハイフン、ドット、スラッシュで入力を分割し、さらに小文字→大文字の境界で分割します(よって helloWorld["hello", "World"] になります)。そして文字↔数字の境界でも分割します(よって v2API["v", "2", "API"] になります)。
  3. 空のトークンを除去し、残ったトークンは String.prototype.toLocaleLowerCase で小文字化されるため、トルコ語、ドイツ語などのロケールにおける Unicode 文字も正しく保持されます。
  4. 次に 11 個の整形器がトークンを各ターゲットケースに組み立てます — camelCase、PascalCase、snake_case、CONSTANT_CASE、kebab-case、dot.case、path/case、Title Case(andtheof などの小さな単語リスト付きで、先頭・末尾以外では小文字を保ちます)、Sentence case、完全な小文字、完全な大文字です。
  5. 出力はケース 1 行ずつ結果グリッドに書き込まれます。各行には独自のコピーボタンがあり、非同期の Clipboard API を用い、古いブラウザ向けには同期の document.execCommand('copy') をフォールバックとして使用します。

なぜケース変換ツールを使うのか?

  • 識別子のリファクタ:JavaScript 変数を user_id から userId に、Python 関数を helloWorld から hello_world に、Rust 定数を maxBuffer から MAX_BUFFER に — 一文字ずつ手作業で編集することなく改名できます。
  • 設定キーの変換:camelCase のキーで埋まった JSON 設定を一回の貼り付けで Python サービス用の snake_case YAML に、あるいは Helm チャート用の kebab-case に切り替えられます。
  • 見出しの作成:草稿の見出しを貼り付け、Title Case 形式(Chicago Manual of Style の小さな単語例外付き)と Sentence case 形式(AP Stylebook)を並べて読み、媒体に合うものを選びます。
  • URL スラッグの生成:ブログ記事のタイトルを貼り付け、kebab-case 形式を CMS のスラッグ欄に直接コピー — トークナイザが句読点や複数語フレーズを処理し、余計な区切り文字を残しません。

ケース変換の一般的な用途は何ですか?

大文字小文字規約の切り替えは、ソフトウェア工学、コンテンツ制作、データエンジニアリングにわたって登場します:

  • コードのリファクタ:スタイルガイドが変わったときに、コードベース全体で識別子を改名(例えばバックエンド書き直し時に JavaScript の camelCase を Python の snake_case に)、タイプミスなしで実施できます。
  • API ペイロードの整形:camelCase の JSON キーを Ruby on Rails や Django のバックエンドに渡す前に snake_case に変換、あるいは CSS-in-JS のクラス名向けに kebab-case にします。
  • 見出しとスラッグの作成:同じ元見出しから、Title Case のページタイトル、Sentence case のメタディスクリプション、kebab-case の URL スラッグを一度に生成します。

ケース変換の例はどんな見た目ですか?

Hello World API を入力に貼り付けます。結果グリッドは 11 行を同時に描画します:helloWorldApi(camelCase)、HelloWorldApi(PascalCase)、hello_world_api(snake_case)、HELLO_WORLD_API(CONSTANT_CASE)、hello-world-api(kebab-case)、hello.world.api(dot.case)、hello/world/api(path/case)、Hello World Api(Title Case)、Hello world api(Sentence case)、hello world api(lower case)、HELLO WORLD API(UPPER CASE)。同じ入力を helloWorldAPI として貼り付けても同じ 3 単語にトークン化されます — 小文字→大文字の境界検出器がこの形式にも対応します。

これは私のブラウザ内で動きますか?

はい。トークナイザと 11 個のケース整形器はおよそ 120 行のバニラ JavaScript で、ブラウザのタブ内で動作します。何もアップロードされず、入力を中継するサービスワーカーもなく、変換ステップ自体はネットワーク要求をまったく行いません。発生する送信はページロード時の標準アセット(CSS、フォント、解析)のみで、あなたのテキストが Ultim8Soft に到達することはありません。

変数名にはどのケース形式を使うべきですか?

言語とチームのスタイルガイドに依存します。JavaScript と TypeScript のコードベースは圧倒的に camelCase を変数と関数に、PascalCase をクラスや React コンポーネントに、CONSTANT_CASE を環境変数名やモジュールレベル定数に用います — Google JavaScript スタイルガイドと Airbnb スタイルガイドはどちらもそう定めています。Python(PEP 8)、Ruby、Rust は snake_case を変数と関数に、PascalCase をクラスに、CONSTANT_CASE をモジュールレベル定数に好みます。C と C++ のコードベース(Linux カーネル、LLVM)は関数に snake_case、プリプロセッサマクロに CONSTANT_CASE を使います。迷ったらチームの linter や formatter を走らせれば、どの規約が強制されているか分かります。

入力はどのようにトークン化されますか?

トークナイザはまず入力を任意の空白、アンダースコア(_)、ハイフン(-)、ドット(.)、スラッシュ(/)の連なりで分割します。得られた各塊はさらに小文字→大文字の境界で分割され(よって helloWorld["hello", "World"] になります)、文字↔数字の境界でも分割されます(よって v2API["v", "2", "API"] になります)。空のトークンを除去し、残ったトークンは String.prototype.toLocaleLowerCase で小文字化されます。その後、整形器がトークンを各ターゲットケースが必要とする区切り文字で再大文字化・再結合します。この戦略は一般的な 6 つの識別子形 — camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、そして普通の空白区切りの文章 — を箱から出してすぐ扱えます。

Unicode / 非 ASCII 文字はどうなりますか?

Unicode 文字は往復を生き残ります。トークナイザは String.prototype.toLocaleLowerCasetoLocaleUpperCase を使い、これらはロケール特有のケースルールを尊重します — トルコ語のドット付き/ドットなしの i、ドイツ語 ßSS に大文字化されること、フランス語やスペイン語のアクセント付きラテン文字などです。区切り集合(空白、_-./)に含まれない非文字 — 例えば数字、アクセント付き文字、CJK 文字 — は所属するトークン内に保持され、ケース整形器はそれらをそのまま再出力します。つまり nœud_principal のような入力は ["nœud", "principal"] にトークン化され、nœudPrincipal(camelCase)や NœudPrincipal(PascalCase)に綺麗に変換されます。

このケース変換ツールはシングルの静的ページで、トークナイザと 11 個の整形器をすべてブラウザ内で実行します — ベンダーライブラリなし、変換ごとのネットワーク呼び出しなし、アカウントなし。上に任意のテキストを貼り付け、11 種類のケース出力を並べて見比べ、必要なものをコピーしてください。