¿Cómo tomo una cadena y la convierto a minúsculas o mayúsculas en Ruby?
1111
Ruby tiene algunos métodos para cambiar el caso de las cadenas. Para convertir a minúsculas, use downcase
:
"hello James!".downcase #=> "hello james!"
Del mismo modo, upcase
escribe en mayúscula cada letra y capitalize
escribe en mayúscula la primera letra de la cadena, pero en minúscula el resto:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
Si desea modificar una cadena en su lugar, puede agregar un signo de exclamación a cualquiera de esos métodos:
string = "hello James!"
string.downcase!
string #=> "hello james!"
Consulte la documentación de String para obtener más información.
nil
; debe usarlos si desea cambiar un objeto en su lugar, no si desea almacenar el valor en otra variable..titleize
Es de Rails. No puedo encontrarlo en laString
documentación de rubytitleize
debe eliminarse de esta respuesta o al menos indicar que es un método Rails.Puede encontrar todos los métodos disponibles en una Cadena abriendo irb y ejecutando:
Y para obtener una lista de los métodos disponibles para cadenas en particular:
Utilizo esto para descubrir cosas nuevas e interesantes sobre objetos que de otro modo no habría sabido que existían.
fuente
String.public_instance_methods(false)
para buscar todos los métodos de instancia pública definidos específicamente porString
.Como mencionó @endeR, si la internacionalización es una preocupación, la gema unicode_utils es más que adecuada.
Las manipulaciones de cadenas en Ruby 2.4 ahora son unicode-sensibles.
fuente
El
downcase
método ruby devuelve una cadena con letras mayúsculas reemplazadas por letras minúsculas.https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
fuente
... y la mayúscula es:
fuente
El activo joya carriles de soporte proporciona
upcase
,downcase
,swapcase
,capitalize
, etc métodos con soporte de internacionalización:fuente
Puede encontrar el método cuerdas como
"strings".methods
se puede definir cadena comoupcase
,downcase
,titleize
. Por ejemplo,fuente
El método .swapcase transforma las letras mayúsculas en una cadena en minúsculas y las letras minúsculas en mayúsculas.
fuente
'Testing'.swapcase #=> tESTING
Desde Ruby 2.4 hay un mapeo de casos Unicode completo . Fuente: https://stackoverflow.com/a/38016153/888294 . Consulte la documentación de Ruby 2.4.0 para más detalles: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
fuente
No funcionará para todos, pero esto me ahorró mucho tiempo. Acabo de tener el problema con un CSV que devuelve "VERDADERO o" FALSO ", así que simplemente agregué VALOR.to_s.downcase ==" verdadero "que devolverá el valor booleano verdadero si el valor es" VERDADERO "y falso si el valor es" FALSO ", pero seguirá funcionando para el booleano verdadero y falso.
fuente