Pertanyaan Cara mengonversi string ke huruf kecil atau huruf besar di Ruby


Bagaimana cara mengambil string dan mengubahnya menjadi huruf kecil atau huruf besar di Ruby?


970
2018-06-20 00:16


asal


Jawaban:


Ruby memiliki beberapa metode untuk mengubah kasus string. Untuk mengkonversi ke huruf kecil, gunakan downcase:

"hello James!".downcase    #=> "hello james!"

Demikian pula, upcase kapitalisasi setiap huruf dan capitalize mengkapitalisasi huruf pertama string tetapi menurunkan 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!"

Mengacu kepada dokumentasi untuk String untuk informasi lebih lanjut.


1408
2018-06-20 00:16



Anda dapat mengetahui semua metode yang tersedia di String dengan membuka irb dan menjalankan:

"MyString".methods.sort

Dan untuk daftar metode yang tersedia untuk string khususnya:

"MyString".own_methods.sort

Saya menggunakan ini untuk menemukan hal-hal baru dan menarik tentang objek yang mungkin tidak pernah saya ketahui ada.


114
2018-06-20 09:27



Seperti @endeR disebutkan, jika internasionalisasi menjadi perhatian, permata unicode_utils lebih dari cukup.

$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"

Manipulasi string di Ruby 2.4 sekarang unicode-sensitif.


36
2018-04-19 05:46



Ruby downcase metode mengembalikan string dengan huruf besar diganti dengan huruf kecil.

"string".downcase

https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase


14
2018-06-20 00:16



... dan huruf besar adalah:

"Awesome String".upcase
=> "AWESOME STRING"

11
2018-06-20 09:10



Permata Dukungan Rails Active menyediakan upcase, downcase, swapcase,capitalize, dll. metode dengan dukungan internasionalisasi:

gem install activesupport
irb -ractive_support/core_ext/string
"STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
 => "string  áâãàçéêíóôõú"
"string  áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING  ÁÂÃÀÇÉÊÍÓÔÕÚ"

11
2017-08-01 23:44



Sejak Ruby 2.4 ada built in pemetaan kasus Unicode penuh. Sumber: https://stackoverflow.com/a/38016153/888294. Lihat dokumentasi Ruby 2.4.0 untuk detailnya: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase


0
2017-09-18 14:57