JavaScriptで文字列をキャメルケースに変換する方法
キャメルケースとは?
キャメルケース(camel case)とは、フレーズ内の各単語や略語の先頭を大文字で表記し、単語間にスペースや区切り文字を一切入れない書き方のことです。
たとえば「Concurrent hash maps」という文字列をキャメルケースに変換すると、次のようになります。
ConcurrentHashMaps
この形式は、JavaやJavaScriptなどのプログラミングにおいて、クラス名や変数名の命名規則として広く使われています。
JavaScriptでキャメルケース変換を実装する
JavaScriptでは、文字列を受け取ってキャメルケースに変換する関数を、以下のようにシンプルに実装できます。
サンプルコード
function camelize(str) {
// 文字列をすべてのスペースで分割する
return str.split(' ')
// trim()で余分な空白を取り除く
.map(a => a.trim())
// 各単語の先頭1文字を大文字に変換し、残りと連結する
.map(a => a[0].toUpperCase() + a.substring(1))
// すべての文字列を結合して1つの文字列に戻す
.join("")
}
console.log(camelize("Concurrent hash maps"))実行結果
ConcurrentHashMaps
コードの処理の流れ
この関数がどのように動作しているのか、処理を段階的に見ていきましょう。
- split(' '):元の文字列をスペース区切りで配列に分割します。「Concurrent hash maps」なら
["Concurrent", "hash", "maps"]になります。 - map(a => a.trim()):各要素から前後の余分な空白を除去し、データを整えます。
- map(a => a[0].toUpperCase() + a.substring(1)):各単語の先頭1文字だけを
toUpperCase()で大文字化し、substring(1)で取得した2文字目以降と連結します。 - join(""):配列の全要素を区切り文字なしで結合し、最終的な文字列として返します。
注意点
この実装では最初の単語も大文字になるため、厳密には「パスカルケース(Pascal Case/アッパーキャメルケース)」と呼ばれる形式になります。最初の単語を小文字のままにしたい場合は、最初の要素だけ先頭文字をそのまま使うように処理を調整してください。
また、空文字列を渡すと a[0] が undefined になりエラーが発生するため、実運用では入力値のチェックを追加しておくと安全です。
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum
-
C#で文字列をタイトルケース(Title Case)に変換する方法
タイトルケース(Title Case)とはタイトルケースとは、書籍のタイトルや記事の見出しなどで使われる表記スタイルの一つで、主要な単語の頭文字を大文字にする形式です。英語圏では、出版作品や芸術作品のタイトルを表記する際に広く採用されています。タイトルケースでは原則としてすべての単語の先頭を大文字にしますが、冠詞や短い前置詞・接続詞といった「補助的(マイナー)」な単語は、タイトルの先頭または末尾に置かれる場合を除いて小文字のままになります。C#では、TextInfoクラスのToTitleCaseメソッドを使うことで、文字列を簡単にタイトルケースへ変換できます。以下の例に示す実装では、出力される