Comment prendre une chaîne de caractères et la convertir en minuscules ou en majuscules en Ruby ?
Je n'y ai pensé qu'après avoir répondu à la question, mais je vous félicite d'avoir pris le temps d'y répondre quand même. Merci.
Comment prendre une chaîne de caractères et la convertir en minuscules ou en majuscules en Ruby ?
Ruby dispose de quelques méthodes pour changer la casse des chaînes de caractères. Pour convertir en minuscules, utilisez downcase
:
"hello James!".downcase #=> "hello james!"
De même, upcase
met une majuscule à chaque lettre et capitalize
met la première lettre de la chaîne en majuscule mais met le reste en minuscule :
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!" (Rails/ActiveSupport only)
Si vous souhaitez modifier une chaîne de caractères sur 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.
Je n'y ai pensé qu'après avoir répondu à la question, mais je vous félicite d'avoir pris le temps d'y répondre quand même. Merci.
Attention ! il me semble que l'utilisation du bang " !" retournera nil s'il n'y a pas de majuscule. donc str = "this".downcase ! returns str = nil
Souvent, les "méthodes bang" reviennent nil
; vous devez les utiliser si vous voulez modifier un objet sur place, et non si vous voulez stocker la valeur dans une autre variable.
Vous pouvez découvrir toutes les méthodes disponibles sur un String en ouvrant irb et en exécutant :
"MyString".methods.sort
Et pour une liste des méthodes disponibles pour les chaînes de caractères en particulier :
"MyString".own_methods.sort
Je m'en sers pour découvrir des choses nouvelles et intéressantes sur des objets dont je n'aurais peut-être pas soupçonné l'existence autrement.
Le seul problème avec cette réponse est que #own_methods ne semble pas exister. Cela vient-il d'une extension de l'Irb ?
Salut - Je pensais apprendre quelque chose de nouveau avec le #own_methods alors, mais il n'existe pas pour moi non plus. Par contre, je fais habituellement : ("MyString".methods - Object.merhods).sort
Comme @endeR l'a mentionné, si l'internationalisation est une préoccupation, la gemme unicode_utils est plus qu'adéquate.
$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"
Les manipulations de chaînes de caractères dans Ruby 2.4 sont désormais sensibles à l'unicode.
http://www.ruby-doc.org/core/classes/String.html
Je n'essaie pas d'être sarcastique, je ne fais que transmettre un outil très utile.
En général, je tape simplement "Ruby, Class, Datatype" dans Google et la rubydoc appropriée apparaît.
très pratique
Le rubis downcase
renvoie une chaîne de caractères dont les lettres majuscules ont été remplacées par des lettres minuscules.
"string".downcase
https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.