Apakah ada metode bawaan yang tersedia untuk mengonversi string menjadi format Kasus Judul?
java
string
title-case
TylerH
sumber
sumber
Jawaban:
Apache Commons StringUtils.capitalize () atau Commons Text WordUtils.capitalize ()
misalnya:
WordUtils.capitalize("i am FINE") = "I Am FINE"
dari WordUtils docsumber
StringUtils.capitalise()
capitalize()
?Tidak ada metode capitalize () atau titleCase () di kelas String Java. Anda memiliki dua pilihan:
Implementasi sampel
Kasus cobaan
keluaran:
sumber
char[]
diStringBuilder
saya sarankan menggunakannew StringBuilder(input.length())
Jika saya dapat mengajukan pendapat saya tentang solusinya ...
Metode berikut didasarkan pada salah satu yang diposting DFA. Itu membuat perubahan besar berikut (yang sesuai dengan solusi yang saya butuhkan pada saat itu): itu memaksa semua karakter dalam string input ke dalam huruf kecil kecuali itu segera didahului oleh "pembatas yang dapat ditindaklanjuti" dalam hal ini karakter dipaksa menjadi huruf besar.
Batasan utama dari rutinitas saya adalah membuat asumsi bahwa "kapitalisasi judul" didefinisikan secara seragam untuk semua lokal dan diwakili oleh konvensi kasus yang sama yang telah saya gunakan sehingga kurang berguna daripada kode dfa dalam hal itu.
NILAI UJI
OUTPUT
sumber
Character.toTitleCase
sebagai gantinya.Gunakan WordUtils.capitalizeFully () dari Apache Commons.
sumber
Anda dapat menggunakan apache commons langs seperti ini:
Anda dapat menemukan dokumen java di sini: WordUtils.capitalizeFully java doc
dan jika Anda ingin menghapus spasi di antara dunia, Anda dapat menggunakan:
Anda dapat menemukan dokumen java untuk String StringUtils.remove java doc
saya berharap bantuan ini.
sumber
Jika Anda ingin jawaban yang benar sesuai dengan standar Unicode terbaru, Anda harus menggunakan icu4j.
Perhatikan bahwa ini peka terhadap lokal.
Dokumentasi Api
Penerapan
sumber
Berikut ini pandangan lain berdasarkan jawaban @ dfa dan @ scottb yang menangani karakter non-huruf / digit:
Masukan yang diberikan:
hasilnya adalah
sumber
Ini adalah sesuatu yang saya tulis untuk mengonversi snake_case ke lowerCamelCase tetapi dapat dengan mudah disesuaikan berdasarkan persyaratan
sumber
Saya tahu ini lebih tua, tetapi tidak membawa jawaban sederhana, saya membutuhkan metode ini untuk pengkodean saya jadi saya menambahkan di sini, mudah digunakan.
sumber
Saya mengalami masalah ini dan saya mencarinya kemudian saya membuat metode saya sendiri menggunakan beberapa kata kunci java hanya perlu melewatkan variabel String sebagai parameter dan mendapatkan output yang tepat berjudul String.
sumber
Anda bisa menggunakannya dengan sangat baik
atau
dari Google API.
sumber
Saya baru-baru ini mengalami masalah ini juga dan sayangnya memiliki banyak kemunculan nama yang dimulai dengan Mc dan Mac, saya akhirnya menggunakan versi kode scottb yang saya ubah untuk menangani awalan ini sehingga ada di sini jika ada yang ingin menggunakannya.
Masih ada kasus tepi yang terlewatkan tetapi hal terburuk yang dapat terjadi adalah bahwa surat akan menjadi huruf kecil ketika harus dikapitalisasi.
sumber
Konversi ke Kasus Judul yang Sesuai:
Hasil: "This Is Some Text"
sumber
Menggunakan Spring
StringUtils
:Jika Anda sudah menggunakan Spring, ini menghindari penggunaan framework lain.
sumber
Gunakan metode ini untuk mengonversi string menjadi kapitalisasi judul:
sumber
Konverter ini mengubah string apa pun yang berisi kapitalisasi unta, spasi, digit, dan karakter lain menjadi kapitalisasi judul yang dibersihkan.
Berikut beberapa masukan:
Dan keluaran saya:
sumber
Tampaknya tidak ada jawaban yang memformatnya dalam kasus judul yang sebenarnya: "Bagaimana Mendapatkan Pekerjaan Impian Anda", "Membunuh Burung Mockingbird", dll. Jadi saya telah membuat metode saya sendiri. Berfungsi paling baik untuk teks bahasa Inggris.
sumber
Ini adalah solusi paling sederhana
sumber
Ini harus bekerja:
sumber
Cara termudah untuk mengonversi string apa pun menjadi kapitalisasi judul, adalah dengan menggunakan paket googles org.apache.commons.lang.WordUtils
Akan menghasilkan ini
Saya tidak yakin kenapa namanya "capitalizeFully", padahal fungsinya tidak melakukan full capital result, tapi lagian, itu alat yang kita butuhkan.
sumber
capitalizeFully
karena menggunakan huruf besar pada setiap kata, termasuk kata yang harus menggunakan huruf kecil dalam judul. grammar.about.com/od/tz/g/Title-Case.htmMaaf saya seorang pemula jadi kebiasaan coding saya payah!
sumber