Как взять строку и преобразовать ее в нижний или верхний регистр в Ruby?
1111
В Ruby есть несколько способов изменить регистр строк. Чтобы преобразовать в нижний регистр, используйте downcase
:
"hello James!".downcase #=> "hello james!"
Аналогично, upcase
заглавные буквы каждой буквы и capitalize
заглавные буквы первой буквы строки, но строчные буквы остальных:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
Если вы хотите изменить строку на месте, вы можете добавить восклицательный знак в любой из этих методов:
string = "hello James!"
string.downcase!
string #=> "hello james!"
Обратитесь к документации для String для получения дополнительной информации.
nil
; вы должны использовать их, если вы хотите изменить объект на месте, а не если вы хотите сохранить значение в другой переменной..titleize
это от Rails. Не могу найти его вString
документации по rubytitleize
необходимо удалить из этого ответа или хотя бы указать, что это метод Rails.Вы можете узнать все методы, доступные для String, открыв irb и выполнив:
И для списка методов, доступных для строк, в частности:
Я использую это, чтобы найти новые и интересные вещи об объектах, которые я, возможно, не знал бы, существовал.
источник
String.public_instance_methods(false)
чтобы найти все общедоступные методы экземпляра, специально определенныеString
.Как упомянуто @endeR, если интернационализация является проблемой, гем unicode_utils более чем достаточен.
Манипуляции со строками в Ruby 2.4 теперь чувствительны к юникоду.
источник
Метод ruby
downcase
возвращает строку с заглавными буквами, замененными строчными.https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
источник
... и заглавные буквы:
источник
Рельсы Active Support камень обеспечивает
upcase
,downcase
,swapcase
,capitalize
и т.д. методы с поддержкой интернационализации:источник
Вы можете найти струнный метод , как
"strings".methods
вы можете определить строку какupcase
,downcase
,titleize
. Например,источник
Метод .swapcase преобразует символы верхнего регистра в строку в нижний регистр и буквы нижнего регистра в верхний регистр.
источник
'Testing'.swapcase #=> tESTING
Начиная с Ruby 2.4, в Unicode встроено полное отображение регистров . Источник: https://stackoverflow.com/a/38016153/888294 . Подробности смотрите в документации по Ruby 2.4.0: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
источник
Не подойдет для всех, но это сэкономило мне кучу времени. У меня просто была проблема с CSV, возвращающим «TRUE» или «FALSE», поэтому я просто добавил VALUE.to_s.downcase == «true», который будет возвращать логическое true, если значение «TRUE», и false, если значение «FALSE». ", но все равно будет работать для логического значения true и false.
источник