大文字小文字の変換とスラッグ
テキストを camelCase、snake_case、kebab-case、Title Case などに変換、またはタイトルをアクセント処理付きの URL スラッグに変換します。
コード例
自分のプロジェクトにコピーして使えます。どの例も言語の標準ライブラリだけを使うので、インストールするものはありません。
const text = 'Héllo wereld, één voorbeeld!'
const slug = text
.normalize('NFD')
.replace(/\p{M}/gu, '')
.toLowerCase()
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-+|-+$/g, '')
console.log(slug)できること
テキストの書き方を変換します:camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE、Title Case、センテンスケース、小文字、大文字。タイトルを、アクセントを除き ß や ø などを ASCII で表した URL スラッグにすることもできます。
使い方
- 1行に1項目でテキストを入力または貼り付けるか、テキストファイルをドロップします。
- スタイルを選びます。URL スラッグではウムラウトの綴り方(ドイツ語は ä を ae、北欧は å を aa)と、単語をつなぐ区切り文字を選べます。
- 結果をコピーまたはダウンロードします。各行を個別に変換 をオフにすると、テキスト全体を1つとして扱います。
例
同じ単語の別のスタイル:
getUserById は snake_case で get_user_by_id、CONSTANT_CASE で GET_USER_BY_ID、kebab-case で get-user-by-id になります。Crème brûlée & Straße はスラッグ creme-brulee-strasse になります。
知っておくと便利なこと
- 単語は、スペース、句読点、アンダースコア、ハイフン、小文字と大文字の間で見つかります。
HTTPServerはHTTPとServerに分かれます。 - スラッグには小文字と数字だけが残ります。日本語などラテン文字以外は取り除かれます。
- 小文字と大文字は、スペースや句読点を保ったままテキストをそのまま変換します。
- 大文字小文字の規則は Unicode 標準に従い、特定の言語に固有ではありません。トルコ語の点ありと点なしの i は特別扱いしません。
単語はどう見つけますか?
テキストは、スペース、句読点、アンダースコア、ハイフン、および小文字が大文字に出会う位置で単語に分割されます。userProfile は user と Profile になります。HTTPServer のように単語の前にある大文字の連続は HTTP と Server に分かれ、数字は単独の単語として扱われます。
よくある質問
URL スラッグとはどのようなものですか?
スラッグは Web アドレスの読みやすい部分で、hello-world のようにハイフンでつないだ小文字と数字です。アクセントは除去され(é は e)、ß や ø などの文字は ASCII 形になるので、どの URL でも安全です。
ドイツ語や北欧の文字はどう扱われますか?
既定ではアクセントを落とすだけなので、ü は u になります。ドイツ語を選ぶと ä、ö、ü が ae、oe、ue になり、北欧を選ぶと å が aa、ø が oe になります。これは各言語がその文字なしで綴る方法です。
このツールはテキストをどこかに送信しますか?
いいえ。すべてブラウザ内で行われます。入力した内容が当社のサーバーに送信されることはありません。