Karena Anda menggunakan bash
, jika Anda menyimpan string dalam variabel, Anda juga dapat melakukannya hanya shell:
uscore="this_is_the_string_to_be_converted"
arr=(${uscore//_/ })
printf %s "${arr[@]^}"
ThisIsTheStringToBeConverted
${uscore//_/ }
mengganti semua _
dengan spasi, (....)
memisahkan string menjadi array, ${arr[@]^}
mengubah huruf pertama dari setiap elemen menjadi huruf besar dan kemudian printf %s ..
mencetak semua elemen satu demi satu.
Anda dapat menyimpan string yang dikunci unta ke variabel lain:
printf -v ccase %s "${arr[@]^}"
dan gunakan / gunakan kembali nanti, misalnya:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
Atau, dengan zsh
:
uscore="this_is_the_string_to_be_converted"
arr=(${(s:_:)uscore})
printf %s "${(C)arr}"
ThisIsTheStringToBeConverted
(${(s:_:)uscore})
memisahkan string _
menjadi sebuah array, (C)
huruf besar huruf pertama dari setiap elemen dan printf %s ...
mencetak semua elemen satu demi satu ..
Untuk menyimpannya dalam variabel lain yang bisa Anda gunakan (j::)
untuk bergabung dengan elemen:
ccase=${(j::)${(C)arr}}
dan gunakan / gunakan kembali nanti:
printf %s\\n $ccase
ThisIsTheStringToBeConverted
\U\2
memasukkan teks yang ditemukan dari grup kedua, dikonversi ke ALL CAPS. Bandingkan dengan\u\2
, yang menyisipkan teks dalam huruf Kalimat, dengan hanya karakter pertama yang ditulis dengan huruf kapital. (2) Semua contoh yang diberikan di bawah ini akan menerjemahkan "this_is_a_string" menjadi "ThisIsAString" - yang Anda minta, tetapi agak sulit dibaca. Anda mungkin ingin merevisi persyaratan Anda untuk huruf khusus satu kata (substring). … (Lanjutan)