Comment prendre une chaîne et la convertir en majuscule ou en minuscule dans Ruby?
Ruby a quelques méthodes pour changer la casse des chaînes. Pour convertir en minuscule, utilisez downcase
:
"hello James!".downcase #=> "hello james!"
De même, upcase
met en majuscule chaque lettre et capitalize
met en majuscule la première lettre de la chaîne, mais en minuscule le reste:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
Si vous souhaitez modifier une chaîne à la place, vous pouvez ajouter un point d'exclamation à l'une de ces méthodes:
string = "hello James!"
string.downcase!
string #=> "hello james!"
Reportez-vous à la documentation pour String pour plus d'informations.
Vous pouvez trouver toutes les méthodes disponibles sur une chaîne en ouvrant irb et en exécutant:
"MyString".methods.sort
Et pour une liste des méthodes disponibles pour les chaînes en particulier:
"MyString".own_methods.sort
J'utilise ceci pour découvrir des choses nouvelles et intéressantes sur des objets que je n'aurais peut-être pas connus autrement.
Comme @endeR l'a mentionné, si l'internationalisation est une préoccupation, la gem unicode_utils est plus que suffisante.
$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"
Les manipulations de chaîne dans Ruby 2.4 sont maintenant sensibles à l'unicode.
La méthode Ruby downcase
renvoie une chaîne dont les lettres majuscules sont remplacées par des lettres minuscules.
"string".downcase
https://Ruby-doc.org/core-2.1.0/String.html#method-i-downcase
... et la majuscule est:
"Awesome String".upcase
=> "AWESOME STRING"
La gemme Rails Active Support fournit les méthodes upcase
, downcase
, swapcase
, capitalize
, etc., avec prise en charge de l'internationalisation:
gem install activesupport
irb -ractive_support/core_ext/string
"STRING ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
=> "string áâãàçéêíóôõú"
"string áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ"
Le langage Ruby fournit différentes méthodes intégrées pour les opérations liées à la casse des chaînes.
par exemple.
string = "Ruby on Rails"
# For upper case
puts string.upcase
=> "Ruby on Rails"
# For lower case
puts string.downcase
=> "Ruby on Rails"
Mais cela ne changera pas la variable d'origine.
puts string
=> "Ruby on Rails"
Si vous souhaitez également modifier la variable d'origine, utilisez les éléments suivants:
string = "Ruby on Rails"
# For upper case
string.upcase!
puts string
=> "Ruby on Rails"
# For lower case
string.downcase!
puts string
=> "Ruby on Rails"
La méthode . Swapcase transforme les lettres majuscules d'une chaîne en minuscules et les lettres minuscules en majuscules.
'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
Vous pouvez trouver une méthode de chaîne comme "strings".methods
Vous pouvez définir une chaîne comme upcase
, downcase
, titleize
. Par exemple,
"hii".downcase
"hii".titleize
"hii".upcase
Depuis Ruby 2.4, il existe un mappage de cas Unicode complet . Source: https://stackoverflow.com/a/38016153/888294 . Voir Ruby 2.4.0 documentation pour plus de détails: https://Ruby-doc.org/core-2.4.0/String.html#method-i-downcase