[Googleスプレッドシート]スネークケース/キャメルケース/パスカルケース/ケバブケース変換早見表
はじめに
Googleスプレッドシートで各種ケース変換を行う方法をまとめました。
前提
それぞれ以下のような表記方法を指します。
ケース名 | 例 |
---|---|
スネークケース | some_words |
キャメルケース | someWords |
パスカルケース | SomeWords |
ケバブケース | some-words |
スネークケースに変換
キャメルケースからスネークケース : someWords → some_words
=LOWER(REGEXREPLACE(A1,"([A-Z])","_$1"))
パスカルケースからスネークケース : SomeWords → some_words
=LOWER(REGEXREPLACE(REPLACE(A1,1,1,LOWER(LEFT(A1,1))),"([A-Z])","_$1"))
ケバブケースからスネークケース : some-words → some_words
=SUBSTITUTE(A1,"-","_")
キャメルケースに変換
スネークケースからキャメルケース : some_words → someWords
=REPLACE(REGEXREPLACE(PROPER(A1),"_",""),1,1,LOWER(LEFT(A1,1)))
パスカルケースからキャメルケース : SomeWords → someWords
=REPLACE(A1,1,1,LOWER(LEFT(A1,1)))
ケバブケースからキャメルケース : some-words → someWords
=REPLACE(REGEXREPLACE(PROPER(A1),"-",""),1,1,LOWER(LEFT(A1,1)))
パスカルケースに変換
スネークケースからパスカルケース : some_words → SomeWords
=REGEXREPLACE(PROPER(A1),"_","")
キャメルケースからパスカルケース : someWords → SomeWords
=REPLACE(A1,1,1,UPPER(LEFT(A1,1)))
ケバブケースからパスカルケース : some-words → SomeWords
=REGEXREPLACE(PROPER(A1),"-","")
ケバブケースに変換
スネークケースからケバブケース : some_words → some-words
=SUBSTITUTE(A1,"_","-")
キャメルケースからケバブケース : someWords → some-words
=LOWER(REGEXREPLACE(A1,"([A-Z])","-$1"))
パスカルケースからケバブケース : SomeWords → some-words
=LOWER(REGEXREPLACE(REPLACE(A1,1,1,LOWER(LEFT(A1,1))),"([A-Z])","-$1"))
解説
3つの基本形となる操作を組み合わせています。
基本形1: スネークケースからパスカルケース
# some_words → SomeWords
=REGEXREPLACE( -- 2. アンダースコアを削除する
PROPER(A1), -- 1. 各単語の最初の文字を大文字にする
"_",
""
)
PROPER()
は指定した文字列内の各単語の最初の文字を大文字に変換します。
基本形2: パスカルケースからキャメルケース(最初の一文字を小文字にする)
# SomeWords → someWords
=REPLACE( -- 2. 最初の一文字を置換する
A1,
1,
1,
LOWER(LEFT(A1,1)) -- 1. 最初の一文字を取得して小文字にする
)
REGEXREPLACE()
では大文字・小文字変換の正規表現(\U
と\u
)は使えないようなのでこのようなアプローチになります。
参考→ スプレッドシートで使える正規表現一覧
基本形3: キャメルケースからスネークケース
# some_words → someWords
=LOWER( -- 2. すべて小文字にする
REGEXREPLACE(A1,"([A-Z])","_$1") -- 1. 大文字の前に「_」を付ける
)
応用形1: スネークケースからキャメルケース(基本形1+基本形2)
# some_words → someWords
=REPLACE( -- 基本形2
REGEXREPLACE(PROPER(A1),"_",""), -- 基本形1
1,
1,
LOWER(LEFT(A1,1))
)
応用形2: パスカルケースからスネークケース(基本形2+基本形3)
# SomeWords → some_words
=LOWER(REGEXREPLACE( -- 基本形3
REPLACE(A1,1,1,LOWER(LEFT(A1,1))), -- 基本形2
"([A-Z])",
"_$1"
))
応用形3: ケバブケースの場合
スネークケースの「_」を「-」に書き換えるだけです。
ディスカッション
コメント一覧
まだ、コメントがありません