Как преобразовать строку в нижний или верхний регистр в Ruby - PullRequest
1050 голосов
/ 20 июня 2009

Как мне взять строку и преобразовать ее в нижний или верхний регистр в Ruby?

Ответы [ 9 ]

1513 голосов
/ 20 июня 2009

В 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 .

117 голосов
/ 20 июня 2009

Вы можете узнать все методы, доступные для String, открыв irb и выполнив:

"MyString".methods.sort

А для списка методов, в частности доступных для строк:

"MyString".own_methods.sort

Я использую это, чтобы узнать новые и интересные вещи об объектах, которые я, возможно, не знал бы, существовал.

38 голосов
/ 19 апреля 2013

Как упомянуто @endeR, если важна интернационализация, гем unicode_utils более чем достаточен.

$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"

Манипуляции со строками в Ruby 2.4 теперь чувствительны к юникоду.

16 голосов
/ 20 июня 2009

Метод ruby ​​downcase возвращает строку, в которой заглавные буквы заменены строчными.

"string".downcase

https://ruby -doc.org / ядро-2.1.0 / String.html # метод-я-downcase

12 голосов
/ 20 июня 2009

... и заглавные буквы:

"Awesome String".upcase
=> "AWESOME STRING"
11 голосов
/ 02 августа 2014

Gem Active Support Rails предоставляет методы 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  ÁÂÃÀÇÉÊÍÓÔÕÚ"
1 голос
/ 29 мая 2019

Метод .swapcase преобразует символы верхнего регистра в строку в нижний регистр и буквы нижнего регистра в верхний регистр.

'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
1 голос
/ 29 января 2019

Вы можете найти метод строк, как "strings".methods Вы можете определить строку как upcase, downcase, titleize. Например,

"hii".downcase
"hii".titleize
"hii".upcase
0 голосов
/ 18 сентября 2017

Начиная с 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

...