piapia123
ja

大文字小文字と命名規則

テキスト処理

処理はすべてブラウザ内で完結します。データは送信されません

入力
出力

識別子をある書き方から別の書き方へ変えるとき、難しいのは接続記号ではなく語の分割です。fooBarBaz、foo_bar_baz、FOO_BAR を受け取ったら、まずどれも foo・bar・baz の3語だと気づく必要があります。連続する大文字はとくに間違えやすく、HTTPServer は HTTP + Server に分けるべきで、4文字に分けても1語にまとめてもいけません。このツールはその規則で語を分割し、8つの規則のいずれかに組み直します。

機能

  • 8つの規則を相互変換:camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、タイトル化、すべて大文字、すべて小文字
  • 語の分割は fooBarBaz、foo_bar_baz、foo-bar-baz、FOO_BAR と、それらが混ざった入力にも対応
  • 連続する大文字は語ごとに分割:HTTPServer は HTTP + Server、XMLHttpRequest は XML + Http + Request
  • 英字と数字の境界も切ります:utf8String は utf8 + String、MP3Player は MP3 + Player
  • 行ごとに独立して変換するので、識別子の列を貼り付けても行の構造が崩れません
  • 入力すればすぐ結果が出ます。ボタンを押す必要はありません

使い方

  1. 変換先の記法を選びます
  2. 識別子を入力欄に貼り付けます(1行に1つでも構いません)
  3. 結果はリアルタイムで表示されます。「コピー」で取り出せます

よくある質問

連続する大文字はどう分割されますか?
規則は「連続する大文字 + 大文字の後ろに小文字」のとき、最後の大文字の前で切るというものです:HTTPServer は HTTP と Server、XMLHttpRequest は XML・Http・Request に分かれます。この規則がないと、多くの実装が XMLHttpRequest を XMLHttp + Request にしてしまいます。
日本語や中国語はどう扱われますか?
漢字は語の分割に加わらず、そのまま語の中に残ります。そのため「注文ID」を CONSTANT_CASE に変換すると「注文ID」のままになり、真ん中で切られることはありません。
__init__ を camelCase にすると init になるのはなぜですか?
アンダースコアは区切り文字で、その両側の空の語は捨てられるため、init という1語だけが残り、規則どおり先頭が小文字になります。この結果が意図と合わないなら、その識別子はアンダースコアで意味を表しているので、変換前に確認が必要です。
すべて大文字とすべて小文字は、なぜ余分な空白を消さないのですか?
この2つは行の文字そのものに作用し、語の分割はしません。語に分けて組み直すと、行頭のインデントや行内の余分な空白まで一緒に詰めてしまい、それはこの2つの役割ではないからです。

関連ツール