Google スプレッドシートで、snake_caseで書かれたセルの文字列をcamelCaseに変換する。
結論
=REPLACE(SUBSTITUTE(PROPER`指定のセル番号`),"_",""),1,1,LEFT(`指定のセル番号`,1))
解説
関数が適応される順に説明
例) "foo_bar_baz"
-
PROPER
: 文字列の単語区切りの先頭文字を大文字に変えます。_
区切りで解釈されるので、Foo_Bar_Baz
になります -
SUBSTITUTE
指定した文字列中に現れる指定した文字を繰り返し置換します。これにより_
を削除してFooBarBaz
になります -
LEFT
: 指定の文字列の左から今回は1文字抽出します。foo_bar_baz
なのでf
が抽出されます -
REPLACE
:SUBSTITUTE(PROPER
指定のセル番号),"_","")
で組み立てた文字の最初を、LEFT(
指定のセル番号,1)
で抽出した文字列で置換します。
これによって最終的に fooBarBaz
という文字列が得られます。めでたしめでたし。
パスカルケースの場合
=SUBSTITUTE(PROPER`指定のセル番号`),"_","")
で結果が得られます。
だめだったやつ
最初、正規表現でいけるだろうと思って
=REGEXREPLACE(`セルの番号`, "(_)(.)", "\u$2")
と書いたのだけど、 \u
による大文字指定が効かないようで断念した。