Comment prendre une chaîne et la convertir en minuscule ou en majuscule dans Ruby?
1111
Ruby a quelques méthodes pour changer la casse des chaînes. Pour convertir en minuscules, utilisez downcase
:
"hello James!".downcase #=> "hello james!"
De même, met en upcase
majuscule chaque lettre et met en capitalize
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 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 de String pour plus d'informations.
nil
; vous devez les utiliser si vous souhaitez modifier un objet sur place, pas si vous souhaitez stocker la valeur dans une autre variable..titleize
est issu de Rails. Impossible de le trouver dans laString
documentation de rubytitleize
doit être supprimé de cette réponse ou au moins indiquer qu'il s'agit d'une méthode Rails.Vous pouvez découvrir toutes les méthodes disponibles sur une chaîne en ouvrant irb et en exécutant:
Et pour une liste des méthodes disponibles pour les chaînes en particulier:
Je l'utilise pour découvrir des choses nouvelles et intéressantes sur des objets dont je n'aurais peut-être pas su qu'ils existaient autrement.
la source
String.public_instance_methods(false)
pour rechercher toutes les méthodes d'instance publique spécifiquement définies parString
.Comme @endeR l'a mentionné, si l'internationalisation est un problème, le joyau unicode_utils est plus que suffisant.
Les manipulations de chaînes dans Ruby 2.4 sont désormais sensibles à l'unicode.
la source
La
downcase
méthode ruby renvoie une chaîne avec ses lettres majuscules remplacées par des lettres minuscules.https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
la source
... et la majuscule est:
la source
Les rails petit bijou de soutien actif fournit
upcase
,downcase
,swapcase
,capitalize
, etc. méthodes avec le soutien de l' internationalisation:la source
Vous pouvez trouver la méthode des chaînes comme
"strings".methods
vous pouvez définir comme chaîneupcase
,downcase
,titleize
. Par exemple,la source
La méthode .swapcase transforme les derniers majuscules d'une chaîne en minuscules et les lettres minuscules en majuscules.
la source
'Testing'.swapcase #=> tESTING
Depuis Ruby 2.4, il existe un mappage de cas Unicode complet . Source: https://stackoverflow.com/a/38016153/888294 . Voir la documentation de Ruby 2.4.0 pour plus de détails: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
la source
Ne fonctionnera pas pour tout le monde, mais cela m'a juste fait gagner beaucoup de temps. J'ai juste eu le problème avec un CSV renvoyant "TRUE ou" FALSE "donc j'ai juste ajouté VALUE.to_s.downcase ==" true "qui retournera le booléen true si la valeur est" TRUE "et false si la valeur est" FALSE ", mais fonctionnera toujours pour le booléen vrai et faux.
la source