7 ответов:
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 для получения дополнительной информации.
вы можете узнать все методы, доступные в строке, открыв irb и запустив:
"MyString".methods.sortи для списка методов, доступных для строк в частности:
"MyString".own_methods.sortЯ использую это, чтобы узнать новые и интересные вещи о предметах, которые я не знал, существовал.
Как упоминал @endeR, если интернационализация является проблемой, драгоценный камень unicode_utils более чем адекватен.
$ gem install unicode_utils $ irb > require 'unicode_utils' => true > UnicodeUtils.downcase("FEN BİLİMLERİ", :tr) => "fen bilimleri"
строковые манипуляции в Ruby 2.4 теперь чувствительны к юникоду.
Рубин
downcaseметод возвращает строку с заглавными буквами, замененными строчными буквами."string".downcasehttps://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
рельсы активная поддержка gem обеспечивает
upcase,downcase,swapcase,capitalizeи т. д. методы с поддержкой интернационализации:gem install activesupport irb -ractive_support/core_ext/string "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s => "string áâãàçéêíóôõú" "string áâãàçéêíóôõú".mb_chars.upcase.to_s => "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ"
Так как Ruby 2.4 есть встроенный полное отображение Юникода. Источник:https://stackoverflow.com/a/38016153/888294. дополнительную информацию см. В документации Ruby 2.4.0:https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
Comments