テキスト変換
テキスト命名規則、文字ケース、全角/半角の変換と、テキストの反転を行います。
このページの内容
テキスト変換ツールとは?#
テキスト変換ツールは、固定ルールに従って文字列を書き換えます — ケースを変える、命名規則を切り替える、半角と全角を行き来する、文字を反転する。これらの作業の多くは、実際にやってみるまでは頭の中で 1 行で答えが出ます。「このヘッダーを kebab-case に」は Content Type なら自明ですが、HTTPServer、getUserById_v2、X-Rate-Limit-Remaining では曖昧です。どこが単語か? 境界はどこに落ちる?
本ツールは単一の予測可能な単語分割器でそれに答えます。区切り文字(アンダースコア、ハイフン、空白、句読点)を正規化し、camelCase と PascalCase の接続、略語から単語への接続(HTTPServer → HTTP Server)、文字から数字への接続(v2 → v 2)で境界を挿入します。結果のトークンが 12 の操作を駆動します。5 つの命名規則(camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE)、4 つの文字ケース(大文字、小文字、タイトルケース、文頭のみ大文字)、東アジアの幅変換(半角 ↔ 全角)、そして反転です。反転は Unicode コードポイント単位で歩くため、絵文字や他のサロゲートペア文字も壊れた半分にならずに生き残ります。
使い方#
- ツールバーのドロップダウンから操作を選びます。12 の選択肢は論理的にグループ化されています。命名規則、文字ケース、幅変換、反転の順です。
- 左の入力ペインに入力または貼り付けするか、サンプルで分割器を一通り試す例を読み込みます。
- 右の出力ペインで結果を読みます — 入力または選んだ操作が変わった瞬間に更新されます。
- 出力ヘッダーのコピーで変換後の文字列を取得するか、クリアでやり直します。
操作は全域です。空の入力は空の出力になり、どの操作も例外を投げません。ドロップダウンを切り替えると同じ入力がただちに新しいルールで再実行されるため、例えば同じ識別子で snake_case と kebab-case を比べるような場合に高速に比較できます。
主な機能#
- 1 つの分割器で 12 の出力。 同じ単語境界がすべての命名規則に供給されるため、
getUserById_v2は一貫したgetUserByIdV2/GetUserByIdV2/get_user_by_id_v2/get-user-by-id-v2/GET_USER_BY_ID_V2を生成します。 - 略語対応の分割。
HTTPServerはHTTPServerではなくHTTP+Serverに分割されます。認識パターン(大文字の連続のあとに大文字+小文字の単語が続く)が略語を読みやすく保ちます。 - 文字から数字への境界。
v2は 2 トークンになるため、version2は数字を単語に糊付けせずきれいにスラグ化されます。 - 東アジアの幅変換。 半角 ASCII の
Hello 123は全角Hello 123(スペース含む)になり、逆方向で ASCII に戻ります — 東アジアのフォームを埋めるときや CJK テキストを揃えるときに便利です。 - コードポイント単位の反転。
a😀bを反転すると壊れた絵文字ではなくb😀aになります — 分割器は UTF-16 コード単位ではなくコードポイントを歩きます。 - ローカルかつ瞬時。 ネットワークもアップロードもなく、すべての変換はページ内の純粋な文字列演算です。
実例#
人間が読めるラベルを入力に貼り付けます。
user first name
操作を 5 つの命名規則に切り替え、出力ペインを見ます。
- camelCase →
userFirstName - PascalCase →
UserFirstName - snake_case →
user_first_name - kebab-case →
user-first-name - CONSTANT_CASE →
USER_FIRST_NAME
次に、命名規則が混ざった判読しにくい識別子を試します。
HTTPServer v2
分割器が HTTP + Server 境界と v + 2 境界を認識するため、出力は httpservver-v2 に崩れず読みやすさを保ちます。
- kebab-case →
http-server-v-2 - snake_case →
http_server_v_2 - CONSTANT_CASE →
HTTP_SERVER_V_2
これが、識別子の構造を本当に理解する変換と、小文字化して区切り文字で繋ぐだけの変換の違いです。
よくある質問#
なぜ HTTPServer は h-t-t-p-server にならないのですか?#
分割器が、大文字の連続のあとに大文字+小文字の単語が続くパターンを略語+単語として扱うためです。HTTPServer は HTTP + Server と読まれ、これはほぼ常に意図したところです。すべての大文字で分割する素朴な分割器は h-t-t-p-server のような読めないスラグを生成します。
タイトルケースと文頭のみ大文字の違いは何ですか?#
タイトルケースは空白で区切られたすべての単語の最初の文字を大文字にします(the quick fox → The Quick Fox)。見出しや書名に適しています。文頭のみ大文字は文字列全体の最初のアルファベット文字だけを大文字にします(the quick fox → The quick fox)。散文や文に適しています。テキストが実際に何であるかに基づいて選んでください。
半角 ↔ 全角変換をいつ使いますか?#
東アジアの組版や一部の官公庁/ビジネスフォームでは、CJK 文字との視覚的整揃のためフルウィズスのラテン文字と数字(ABC123)を期待します。逆に、日本語のソースからコピーしたテキストはしばしば全角で届き、正規表現やコードパーサが受け付ける前に ASCII に戻す必要があります。2 つの操作は互いの正確な逆変換です。
反転は絵文字を正しく処理しますか?#
はい。操作は UTF-16 コード単位ではなく(Array.from 経由で)Unicode コードポイントで反復するため、基本多言語面外の文字 — 😀 のような絵文字、稀な CJK 漢字、数学記号 — は 1 単位として反転されます。abc😀def を反転すると fed😀cba になり、絵文字は無傷です。
ファイルや変数のリネーム一括処理に便利ですか?#
単一の識別子なら便利です — 貼り付け、規則を選び、コピーするだけです。一括処理は通常スクリプトを書きますが、本ページは、regex や codemod に commit する前にある規則が正確に何を出力するかを確認する早道であり、特にバグを誘う厄介な混在ケースで有用です。