文章を snake_case に変換 underscore_case 無料 オンライン 安全
一行貼り付ければ、そのまま snake_case で読めます。すべてお使いのブラウザーの中で起こり、入力したものはどこにも送られません。規則は英語ではなく、このページの言語に従います。
別の書き方にする
アップロードなし
同じ一行を、七つの書き方すべてで
| 書き方 | 同じ一行を、その書き方で |
|---|---|
| 大文字 | CRÈME BRÛLÉE を2つ — STRASSE 17, FOOBAR |
| 小文字 | crème brûlée を2つ — straße 17, foobar |
| Title Case | Crème Brûlée を2つ — Straße 17, Foobar |
| snake_case | crème_brûlée_を2つ_straße_17_foo_bar |
| kebab-case | crème-brûlée-を2つ-straße-17-foo-bar |
| camelCase | crèmeBrûléeを2つStraße17FooBar |
| URL のアドレス | creme-brulee-を2つ-strasse-17-foobar |
この書き分けはどこから来たか
大文字と小文字は、かつては別々の二つのアルファベットでした。大文字はローマのもの、鑿で石に刻まれました。小文字はカロリング小字に遡り、羊皮紙の上を速く走る筆によって形づくられました。印刷工は両者を別々の箱に入れて置き——上の箱と下の箱——箱が消えて久しいのちも、その名だけが残りました。プログラミングの書き分けはずっと若く、ただ一つの問題を解くために考え出されました。名前に空白を入れてはならない、という問題です。snake_caseは初期のCから、camelCaseはSmalltalkから、kebab-caseはLispから、そしてURLのスラッグは、空白も記号付き文字も許されない住所に、人の読む表題を収める必要から生まれました。
どこで出会うか
語ごとに大文字にする書き方は、見出しや本の表紙のもの。文のはじめだけ大文字にする書き方は、ほかのほとんどすべてのもので、画面の表示にも次第に広がっています。読むのが速いからです。snake_caseはデータベースの列やPythonの変数に名を与え、camelCaseはJavaScriptの変数やJavaの手続きに、kebab-caseはCSSの類名やウェブ計画のファイル名に。スラッグは、記事の見出しを住所の末尾に変えるものであり、ここにある換算のうち検索機関が読むのはこれだけです。
よくある質問
大文字にすると文字数が変わることがあるのはなぜですか。
大文字と小文字の別は、文字そのものではなく言語の性質だからです。ドイツ語のßは大文字でSSになり、一文字が二文字になります。トルコ語には点のあるiと点のないiがあり、iの大文字はIではなくİです。ここを誤ると、トルコ語の語が別の語になってしまいます。このページの換算はそれぞれの頁の言語の規則に従いますから、同じ入力でもトルコ語の頁と英語の頁とで結果が違いうるのです。
スラッグが記号付き文字や句読点を取り除くのはなぜですか。
住所は、便りに写され、紙に刷られ、手で打ち直されることに耐えねばならないからです。記号付きの文字は今の住所でも許されますが、写すときに百分率で符号化され、読める住所が記号の列に変わってしまいます。素の文字と数字と連字符にまで削ぎ落とせば、住所は読みやすく、送りやすく、どこに現れても同じ姿のままでいられます。
答えは正確ですか。
二つの単位が整数どうしで互いに定義されている場合は正確です — ページは数字の上でそう述べており、丸めは何桁表示するかにしかありません。比が有限小数にならない場合は十二桁の有効数字を示し、関係は近似であると述べます。そうでないふりはしません。
入力したものは端末から出ていきますか。
いいえ。計算はお使いのブラウザーの中で行われます。何も送られませんし、送る先のサーバーもありません。一度読み込めば、通信を切っても動きます。
テキストを snake_case に変換する理由
プログラマーは変数に annual report total という名前をつけられません。名前には空白を含められないからです。データベースの列を Customer First Name と呼ぶこともできません。Final Draft (2).docx というファイルは、遅かれ早かれ、スクリプトを悩ませます。どこかの段階で、人間の句は一つの単語にならなければならず、非常に多くのコミュニティが落ち着いた形が snake_case です。すべての文字が小文字で、単語がアンダースコアでつながれた、annual_report_total、customer_first_name、final_draft_2 です。テキストを snake_case に変換するとは、どんな状態のどんな句でも、一段階でその形にすることです。
一行を貼り付けて、snake_case で読み返してください。変換はお使いのブラウザー内で行われ、入力したものはどこにも送られず、規則はこのページの言語に従い、英語には従いません。行を単語に切り、小文字にして、アンダースコアでつなぎます。すでに camelCase で書かれた行も、その大文字のところで切られるので、fooBar は foo_bar になります。以下では、それが正確に何を意味するか、何が捨てられるか、異なる言語の厄介な文字をページがどう扱うか、snake_case が慣習である場所とそうでない場所、そして急いでテキストを snake_case に変換する人が引っかかる罠を説明します。
変換が行うこと
切る、小文字にする、つなぐ
ページはまず行を単語に切ります。それから各語を小文字にして、アンダースコアでつなぎます。Crème brûlée for 2 — straße 17, fooBar という行は、crème_brûlée_for_2_straße_17_foo_bar として戻ってきます。アクセントは保たれ、数字は独立した単語として残り、ダッシュとカンマはなくなり、fooBar は、その中の大文字が境界を示すので、二つに切られています。
切れ目が入る場所
単語の境界は、空白、句読点、ダッシュ、記号、あるいは単語内の小文字から大文字への変化です。したがって、句 customerFirstName、句 Customer First Name、句 customer-first-name はすべて customer_first_name になります。それが変換の実用的な強みです。ほぼどんな出発点も受け付け、常に同じ場所に至ります。
結果をコピーする
結果の隣のボタンが、それをクリップボードにコピーします。名前が必要なエディター、スキーマ、ファイルダイアログに貼り付けてください。
変換が行わないこと
句読点は保たれない
カンマ、ピリオド、ダッシュは、単語間の境界であって、引き継ぐべき文字ではありません。ファイル名やデータベースの列にはそれが望むものですが、散文には望むものではありません。文をページに通すと、文ではなく名前として戻り、元の句読点はなくなります。
アクセントは取り除かれない
行はアクセント付きの文字を保ちます。crème_brûlée。多くのシステムはそれらを受け付けますが、受け付けないものもあり、それらを含む名前は、古いツールでトラブルを起こすかもしれません。プレーンな文字が必要なら、ラテン文字の記号を取り除くURL スラッグのページを使ってください。
お使いの言語で名前が有効かは確認されない
プログラミング言語には独自の規則があります。数字で始まる名前を禁じるものもあれば、class や return のような語を予約するものもあります。ページはテキストを適切な形の名前に変えますが、使う場所でその名前が有効であることは、あなたが確認する必要があります。2 for 1 offer のような句は 2_for_1_offer になり、ほとんどの言語は最初で拒否します。
言語が重要
空白なしで書かれる文字体系
単語に切るには境界が必要です。中国語と日本語は空白なしで書かれるので、それらの文字体系の行は一つの単語として戻ります。ページは、推測した場所で切るより、そう伝えることを選びます。誤った切り方は、もっともらしく見えて間違った意味の名前を作るからです。
トルコ語と点つきの i
小文字化はページの言語の規則に従います。トルコ語では、I の小文字は点のない ı で、İ の小文字は i です。英語の規則を適用するコンバーターは、単語を変えてしまいます。このページは、書かれている言語に従います。
ドイツ語とエスツェット
ドイツ語の ß はすでに小文字で、straße_17 のように保たれます。大文字の STRASSE は strasse として戻ります。大文字の形は、ß から来たのか二つの文字から来たのかを覚えていないからです。
右から左へ書く文字体系とインド系文字体系
アラビア語、ヘブライ語、インド系の文字体系には、単語の間に空白があり、大文字小文字がないので、ページはそれらの単語をアンダースコアでつなぎ、文字はそのままにします。特定のツールがそのような名前を受け付けるかは、別の問題です。
snake_case が慣習である場所
Python と Ruby
Python のスタイルガイドは、関数、変数、モジュールに snake_case を勧めており、Ruby も同じ習慣に従います。どちらかでコードを書くなら、名前はほぼ常にこの形です。
データベース
SQL のテーブル名と列名は、一般に snake_case です。customer_id、created_at、order_total。名前を引用符で囲む必要をなくし、データベースシステム間で安全です。引用符なしの名前を一つの大文字小文字に折りたたむものもあり、camelCase を読めない文字の連なりに変えてしまうからです。
データファイルと API
多くのウェブサービスは、JSON で snake_case のキーを使い、さらなる処理のために書き出された表計算ソフトのファイルは、snake_case の見出しを持つことがよくあります。データがCSV を JSON に変換を通る途中なら、見出し行がキーになり、整った snake_case の見出しは、結果を使いやすくします。
定数と環境変数
定数と環境変数は、慣習的にアンダースコアつきの大文字で書かれます。MAX_RETRIES、DATABASE_URL。それを得る方法は、まずテキストを snake_case に変換し、それからテキストを大文字に変換で結果を大文字にすることです。
ファイル名
アンダースコアつきの小文字は、どのシステムでも安全なファイル名で、並べ替えや検索も予測どおりに動きます。多くの写真家、研究者、管理者が、まさにその理由でそれを使います。
慣習ではない場所
JavaScript と Java
これらの言語は、変数と関数に camelCase を、クラスに PascalCase を好みます。Python のスクリプトの名前は、JavaScript のファイルに現れる前に変換が必要かもしれません。そのためにはcamelCaseをご覧ください。
CSS とウェブアドレス
CSS のクラス名とウェブアドレスは、通常アンダースコアではなくハイフンを使います。そのためのツールはkebab-caseです。検索エンジンは、ハイフンを単語の区切りとして、アンダースコアを結合子として扱い、その小さな違いが、ハイフンつきアドレスの習慣の背後にあります。
散文とタイトル
snake_case は名前のためのもので、読むためのものではありません。それで書かれたタイトルや文は目に厳しいです。人間のテキストには、単語と空白を保ち、見出しにはTitle Caseを検討してください。
ここでテキストを snake_case に変換する方法
テキストを貼り付けるか入力する
最初の欄に句を入力してください。結果は二番目の欄にすぐ現れるので、入力するにつれて変わるのを見られます。
切れ目を確認する
単語がどこで分けられたかを見てください。iPhone や eBay のような単語は大文字のところで切られ、HTTPServer のような頭字語は、意図したとおりに出たかを一目見る必要があります。
コピーする
コピーボタンを押して、結果を必要な場所に貼り付けてください。同じ行のほかの形については、下をご覧ください。
プロジェクト全体で snake_case を使う
スタック全体で一つの慣習
命名スタイルが混在するプロジェクトは、少し不格好でも一貫したものより、読みにくくなります。データベースが snake_case を使うなら、それと通信するコードも使うことが多く、その間を移動するファイルもそれに従います。新しい列や新しいフィールドのためにテキストを snake_case に変換するとき、ほかのすべての層が付き合わなければならない名前を選んでいるので、一度選んで、全体に通してください。
慣習の間で名前を移す
遅かれ早かれ、ある慣習の名前が別の慣習に現れなければなりません。データベースの列 customer_first_name は、JavaScript のオブジェクトでは customerFirstName に、CSS のクラスや URL では customer-first-name になります。それぞれを手で打ち直す代わりに、必要な形を作るページに元のものを貼り付けてください。C や JavaScript 系のコードにはcamelCase、スタイルとアドレスにはkebab-caseです。同じ名前の三つの形は、互いの正確な翻訳であり、コンバーターはそれらを一貫して作ります。
設定ファイル
設定ファイルは、特に多くのツールが使う YAML で、snake_case のキーを使うことがよくあります。JSON として保管されたデータからそのようなファイルを用意するとき、JSON を YAML に変換は、キーを書いたとおりに保ち、YAML を JSON に変換はその逆をします。始める前にキーを snake_case に決めておけば、形式間の変換がそれを乱すことはありません。
一括での名前変更
見出しがスタイルの混在したデータファイルを引き継いだなら、このページで各見出しを変換し、一度の作業で置き換えてください。まず小さなサンプルでテストしてください。見出しでファイルを読むスクリプトは、名前が一部の場所でしか変わらないと壊れるからです。同僚が何が変わったかを見られるように、ファイルの隣に古い名前と新しい名前の一覧を残してください。
長続きする名前を書く
どう保存されるかではなく、それが何かを言う
良い名前は内容を記述します。order_total は数字が何を意味するかを伝えますが、col7 は伝えません。テキストを snake_case に変換するとき、出発点の句が、書ける最も明確なものであることを確かめてください。コンバーターは、その明確さも混乱も、忠実に保つからです。
あなたにしかわからない略語を避ける
cust_fn_dt のような名前は、ほかの誰にとっても、そして六か月後のあなたにとっても、謎です。アンダースコアは安く、追加の単語も同じです。文のように読める長い名前は、凡例が必要な短いものより、次の人への良い贈り物です。
単数と複数を一貫させる
テーブルを単数の customer で名づけるか、複数の customers で名づけるかを決めて、それを守ってください。慣習は、その統一性ほど重要ではありません。snake_case に変えた句は、あなたが与えた数をそのまま保ちます。
役に立つときは接頭辞をつける
大きなスキーマでは、短い接頭辞が関連する名前をまとめます。billing_address、billing_city、billing_country。接頭辞つきで句を入力して変換すれば、一貫した結果が得られ、アルファベット順の一覧は自然にまとまります。
確定する前に名前をテストする
名前がスキーマや API に入る前に、それが現れる場所で試してください。クエリ、変数、ファイルの一覧です。三つすべてで自然に読めるなら、役に立つでしょう。ぎこちなく感じるなら、句を短くするか言い換えて、もう一度テキストを snake_case に変換してください。最初の一分のテストが、あとで数百のファイルにわたる名前変更を省きます。
同じ行の七つの書き方すべて
形の一覧表
コンバーターの下の表は、例の行を、サイトが提供する七つの形すべてで示します。大文字、小文字、Title Case、snake_case、kebab-case、camelCase、URL スラッグです。同じ単語がそれぞれでどう見えるかを見る手早い方法です。
これらの形の由来
二つのアルファベット
大文字と小文字は、かつては二つの別のアルファベットでした。大文字はローマのもので、のみで石に刻まれ、小文字はカロリング小文字体に由来し、羊皮紙の上を素早く動くペンで形づくられました。印刷工は二つを別々の箱、上のケースと下のケースに入れており、箱がなくなってからも長く、その名前は残りました。
空白のない名前
プログラミングの形ははるかに新しく、一つの問題を解くために発明されました。名前には空白を含められないという問題です。snake_case は初期の C から、camelCase は Smalltalk から、kebab-case は Lisp から、URL スラッグは、空白とアクセントが許されないアドレスに人間のタイトルを入れる必要から生まれました。アンダースコアは当時のキーボードで便利な文字で、行の上に置かれた空白のように見えます。
テキストを snake_case に変換するときの落とし穴
数字で名前を始める
ほとんどの言語とデータベースは、数字で始まる名前を拒否します。句が数字で始まるなら、前に文字か単語を加えてください。
予約語が処理されると期待する
class や order のような句は、お使いの言語や SQL では予約語かもしれません。ページはそれを知らないので、あなたが確認しなければなりません。
頭字語
parseHTMLString のような camelCase の名前内の頭字語は、規則によって、parse_h_t_m_l_string にも parse_html_string にも切られることがあります。結果が望むものか確認してください。
非常に長い名前
データベースとファイルシステムには長さの制限があります。名前にされた長い句は、それにぶつかることがあります。変換する前に、言葉を短くしてください。
変換する前によくある質問
句読点はどうなりますか?
単語間の境界として扱われ、引き継がれません。
数字は保たれますか?
はい、独立した単語として、アンダースコアで区切られます。
camelCase の入力を扱えますか?
はい。単語内の大文字は切れ目を示すので、fooBar は foo_bar になります。
ほかの言語に使えますか?
はい、ページの言語の規則で。中国語や日本語のような空白のない文字体系は、一つの単語として戻ります。
テキストはアップロードされますか?
いいえ。ここで入力したものはどこにも送られないので、下書き、パスワード、顧客の名前は、テキストエディターと同じくらい安全です。
代わりにハイフンを得るには?
テキストを kebab-case に変換を使います。
実例
図書館用の小さなデータベースを作っていて、スタッフが、表計算ソフトの列の見出しを送ってきたとします。Book Title、Author's Last Name、Year Published (YYYY)、ISBN-13。それぞれを順に変換して、book_title、author_s_last_name、year_published_yyyy、isbn_13 を読みます。アポストロフィのせいで、著者の列は乱雑なものになったので、元のものを Author Last Name に短くして、もう一度変換します。author_last_name。年の列は、形式のメモがないほうが明確なので、year_published にします。四つの整った列名が、一分で書かれ、それぞれがデータベースが受け付ける名前になりました。
短いチェックリスト
変換する前
句を、括弧のメモなしに、平易な言葉で書いてください。対象がアンダースコアとアクセントを受け付けるか確認してください。
変換している間
句を貼り付け、切れ目を見て、名前が文字で始まることを確かめてください。
変換したあと
長さを確認し、予約語と照らして確認し、名前をその意味までたどれるように、元の句の記録を残してください。
よくある間違い
人が読むテキストに snake_case を使う
それは名前のためのもので、散文のためのものではありません。
対象が許すものを忘れる
先頭の数字、アクセント、長さの制限は、システムによって異なります。
見ずに頭字語を変換する
その周りの切れ目を確認してください。
テキストは端末の中にとどまる
変換はローカルで行われます。テキストはお使いのブラウザー自身が扱い、何もどこにも送られません。あとで削除するものも、作成するアカウントもありません。それがテキストを snake_case に変換する素直な方法です。
まとめ
ここでテキストを snake_case に変換するには、一行を貼り付けて、単語に切られ、小文字になり、アンダースコアでつながれた形で読み返します。すでに camelCase で書かれた行もそこで切られるので、fooBar は foo_bar になります。ページは句読点を保ちません。カンマ、ピリオド、ダッシュは、単語間の境界であって、引き継ぐべき文字ではなく、それはファイル名やデータベースの列には望むものですが、散文には望むものではありません。単語に切るには境界が必要なので、空白なしで書かれる中国語と日本語は、一つの単語として戻ります。小文字化はページの言語に従います。何もアップロードされません。