を使用しているためbash
、変数に文字列を保存した場合は、シェルのみでも実行できます。
uscore="this_is_the_string_to_be_converted"
arr=(${uscore//_/ })
printf %s "${arr[@]^}"
ThisIsTheStringToBeConverted
${uscore//_/ }
すべて_
をスペースで置き換え(....)
、文字列を配列に分割し、${arr[@]^}
各要素の最初の文字を大文字に変換してから、printf %s ..
すべての要素を次々に出力します。
キャメルケースの文字列を別の変数に保存できます:
printf -v ccase %s "${arr[@]^}"
後で使用/再利用します。例:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
または、とzsh
:
uscore="this_is_the_string_to_be_converted"
arr=(${(s:_:)uscore})
printf %s "${(C)arr}"
ThisIsTheStringToBeConverted
(${(s:_:)uscore})
文字列を_
配列に分割し、(C)
各要素の最初の文字を大文字にし、printf %s ...
すべての要素を次々に出力します。
それを別の変数に保存する(j::)
には、要素の結合に使用できます。
ccase=${(j::)${(C)arr}}
後で使用/再利用します:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
\U\2
、見つかったテキストを2番目のグループから挿入し、すべて大文字に変換します。と比較して\u\2
、最初の文字のみを大文字にして文章を挿入します。(2)以下に示すすべての例は、「this_is_a_string」を「ThisIsAString」に変換します。これはあなたが求めたものですが、少し読みにくいです。1文字の単語(部分文字列)の特殊なケースの要件を修正することもできます。…(続き)