大文字・小文字変換
テキストをcamelCase、snake_case、kebab-case、Title Caseほか6つの形式にブラウザ内で書き換えます。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
言語やチームごとに、単語をつなげて名前にする方法がそれぞれ定着しています。その間の変換は手作業ですぐに済む類のものですが、40個にもなると話は別です。名前を貼り付けて、命名規則を選び、結果を持っていってください。
仕組み
テキストはまず単語に分けられます。文字や数字以外のものはすべて区切りになり、小文字の後に大文字が続く箇所も区切りになります。userName は2語です。大文字の連続の後に先頭が大文字の単語が続く場合は、最後の大文字の前で分けるので、parseHTTPResponse は1語や2語ではなく parse、HTTP、Response になります。
文字と数字の境目では分けないので、utf8 や sha256 はそのまま残ります。あとは、各命名規則がそれらの単語を組み直す方法の違いにすぎません。
Title Case、Sentence case、UPPERCASE、lowercaseは性質が異なります。入力した句読点や空白をそのまま残します。変換後も文は文のままだからです。識別子のスタイルは配置を捨てます。識別子には配置がないからです。
例
| ケース | 入力 | 結果 |
|---|---|---|
| 識別子の中の頭字語 | parseHTTPResponse | parse_http_response |
| 定数に変換した文 | maximum retry count | MAXIMUM_RETRY_COUNT |
| 残さなければならないバージョン番号 | utf8 encoder v2 | utf8EncoderV2 |
よくある質問
なぜ HTTPResponse は h_t_t_p_response ではなく http_response になるのですか?
大文字の連続を1語として読むからです。連続の後に小文字が続く場合は、その連続の最後の大文字の前で分けます。略語とその後の単語の両方を正しく取り出せる読み方はこれしかありません。
なぜ Title Case は PascalCase と同じではないのですか?
PascalCaseは識別子で、空白はなくなります。Title Caseは大文字を使った文章なので、空白や句読点は入力した位置にそのまま残ります。
Title Case で短い単語を小文字のままにしますか?
いいえ。すべての単語の先頭を大文字にします。どの単語を小文字にするかはスタイルガイドによっても言語によっても異なり、そのどれかを黙って適用するのは、このツールには根拠のない判断になります。
アクセント付きの文字はどうなりますか?
そのまま残り、大文字・小文字も正しく変換されるので、élève は ÉLÈVE になります。アクセントを取り除くのは別の作業で、スラッグ生成ツールが行います。
トルコ語オプションは何のためのものですか?
トルコ語とアゼルバイジャン語では、点のある i と点のない ı を別の文字として書くので、i の大文字は İ、I の小文字は ı です。このオプションがないと istanbul は ISTANBUL になり、これらの言語では綴りの誤りです。オプションを有効にすると İSTANBUL になります。初期状態でチェックが入っているのは、これらの言語で書かれたページだけです。貼り付けるテキストがページと同じ言語とは限らないからです。
知っておきたいこと
- 処理はすべてブラウザ内で行われます。貼り付けた内容がアップロード、記録、保存されることはありません。