Question Comment convertir une chaîne en minuscule ou majuscule en Ruby


Comment puis-je prendre une chaîne et la convertir en majuscule ou minuscule dans Ruby?


970
2018-06-20 00:16


origine


Réponses:


Ruby a quelques méthodes pour changer le cas des cordes. Pour convertir en minuscules, utilisez downcase:

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

De même, upcase capitalise chaque lettre et capitalize capitalise la première lettre de la chaîne mais en minuscules le reste:

"hello James!".upcase      #=> "HELLO JAMES!"
"hello James!".capitalize  #=> "Hello james!"
"hello James!".titleize    #=> "Hello James!"

Si vous souhaitez modifier une chaîne, vous pouvez ajouter un point d'exclamation à l'une de ces méthodes:

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

Se référer au documentation pour String pour plus d'informations.


1408
2018-06-20 00:16



Vous pouvez trouver toutes les méthodes disponibles sur une chaîne en ouvrant irb et en cours d'exécution:

"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 trouver des choses nouvelles et intéressantes sur des objets que je n'aurais pas connus autrement.


114
2018-06-20 09:27



Comme @endeR mentionné, si l'internationalisation est une préoccupation, la gemme 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înes dans Ruby 2.4 sont maintenant sensibles à l'Unicode.


36
2018-04-19 05:46



Le rubis downcase method renvoie une chaîne avec ses majuscules remplacées par des lettres minuscules.

"string".downcase

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


14
2018-06-20 00:16



... et les majuscules sont:

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

11
2018-06-20 09:10



La gemme Rails Active Support fournit upcase, downcase, swapcase,capitalize, etc. méthodes avec support à 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  ÁÂÃÀÇÉÊÍÓÔÕÚ"

11
2017-08-01 23:44



Depuis Ruby 2.4 il y a un construit en la cartographie complète des cas Unicode. La 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


0
2017-09-18 14:57