Bagaimana cara mengambil string dan mengubahnya menjadi huruf besar atau kecil di Ruby?
1110
Ruby memiliki beberapa metode untuk mengubah kasus string. Untuk mengonversi menjadi huruf kecil, gunakan downcase
:
"hello James!".downcase #=> "hello james!"
Demikian pula, upcase
kapitalisasi setiap huruf dan capitalize
kapitalisasi huruf pertama dari string tetapi turunkan sisanya:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
Jika Anda ingin memodifikasi string di tempat, Anda dapat menambahkan tanda seru ke salah satu metode tersebut:
string = "hello James!"
string.downcase!
string #=> "hello james!"
Lihat dokumentasi untuk String untuk informasi lebih lanjut.
nil
; Anda harus menggunakannya jika Anda ingin mengubah objek di tempat, bukan jika Anda ingin menyimpan nilai dalam variabel lain..titleize
berasal dari Rails. Tidak dapat menemukannya diString
dokumentasi rubytitleize
perlu dihapus dari jawaban ini atau setidaknya menyatakan itu adalah metode Rails.Anda dapat mengetahui semua metode yang tersedia pada sebuah String dengan membuka irb dan menjalankan:
Dan untuk daftar metode yang tersedia untuk string khususnya:
Saya menggunakan ini untuk mencari tahu hal-hal baru dan menarik tentang objek yang mungkin tidak saya ketahui ada.
sumber
String.public_instance_methods(false)
untuk menemukan semua metode instance publik yang ditentukan secara khusus olehString
.Seperti @endeR disebutkan, jika internasionalisasi menjadi perhatian, permata unicode_utils lebih dari cukup.
Manipulasi string di Ruby 2.4 sekarang unicode-sensitive.
sumber
downcase
Metode ruby mengembalikan string dengan huruf besar diganti dengan huruf kecil.https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
sumber
... dan huruf besar adalah:
sumber
Rel Active Support permata menyediakan
upcase
,downcase
,swapcase
,capitalize
, dll metode dengan dukungan internasionalisasi:sumber
Anda dapat menemukan metode string seperti
"strings".methods
Anda dapat menentukan string sebagaiupcase
,downcase
,titleize
. Sebagai contoh,sumber
The .swapcase metode transformasi latters huruf besar dalam sebuah string ke huruf kecil dan huruf kecil ke huruf besar.
sumber
'Testing'.swapcase #=> tESTING
Sejak Ruby 2.4 ada pemetaan case Unicode penuh bawaan . Sumber: https://stackoverflow.com/a/38016153/888294 . Lihat dokumentasi Ruby 2.4.0 untuk detail: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
sumber
Tidak akan berhasil untuk setiap orang, tetapi ini hanya menghemat banyak waktu. Saya baru saja mengalami masalah dengan CSV yang mengembalikan "TRUE atau" FALSE "jadi saya hanya menambahkan VALUE.to_s.downcase ==" true "yang akan mengembalikan boolean true jika nilainya" TRUE "dan false jika nilainya" FALSE " ", tetapi masih akan bekerja untuk boolean benar dan salah.
sumber