Как преобразовать строку в нижний или верхний регистр в Ruby
Как взять строку и преобразовать ее в нижний или верхний регистр в Ruby?
Ответы
Ответ 1
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.
Ответ 2
Вы можете узнать все методы, доступные на String, открыв irb и выполнив:
"MyString".methods.sort
И для списка методов, доступных для строк в частности:
"MyString".own_methods.sort
Я использую это, чтобы узнать новые и интересные вещи об объектах, которые я, возможно, не знал, существовал.
Ответ 3
http://www.ruby-doc.org/core/classes/String.html
Я не пытаюсь быть саркастичным, просто передавая очень полезный инструмент.
Обычно я просто добавляю "Ruby, Class, Datatype" в Google, и соответствующий rubydoc всплывает
Это очень удобно.
Ответ 4
Как упоминалось в @endeR, если интернационализация вызывает беспокойство, жемчуг unicode_utils более чем достаточен.
$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"
Обработка строк в Ruby 2.4 теперь чувствительна к юникоду.
Ответ 5
Узнайте методы "случая":
$ irb
> "MyString".methods.grep(/case/)
=> [:casecmp, :upcase, :downcase, :swapcase, :upcase!, :downcase!, :swapcase!]
Ответ 6
Метод ruby downcase
возвращает строку, в которой заглавные буквы заменяются строчными.
"string".downcase
https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
Ответ 7
... и верхний регистр:
"Awesome String".upcase
=> "AWESOME STRING"
Ответ 8
Драйвер Active 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 ÁÂÃÀÇÉÊÍÓÔÕÚ"
Ответ 9
И если вы хотите просто загладить первую букву строки в капитал, а остальные - в нижнем регистре.
"awesome string".capitalize
=> "Awesome string"
Он касается только касательно вопроса, но может быть полезным для людей, которые спотыкаются на него.
Ответ 10
[4] pry(main)> "string".upcase
=> "STRING"
[5] pry(main)> "STRING".downcase
=> "string"
[6] pry(main)> "string".capitalize
=> "String"
Ответ 11
Чтобы преобразовать предложение или строку слов в "Капитал Кейс", более прямолинейно:
s.gsub(/\w+/) { |w| w.capitalize}
Ответ 12
s.downcase # return a new String
s.downcase! # modify s in place
s.upcase # (and...
s.upcase! # ...of course)
Ссылка на документы: http://ruby-doc.org/core/String.html
Также см. # capitalize и форму !
.
Ответ 13
Простой,
"string".downcase # to lowercase
"string".upcase # to uppercase
Здесь вы можете прочитать ruby-doc: http://ruby-doc.org/core-2.2.3/String.html#method-i-upcase
Ответ 14
Верхний регистр:
"MyString".upcase
Строчная:
"MyString".downcase
Для капитала первой буквы используется только значение:
"MyString".capitalize
Ответ 15
Вы можете использовать приведенный ниже строковый метод в Ruby
my_name = "Vivek Panday";
puts my_name.capitalize;
puts my_name.upcase;
puts my_name.downcase;
puts my_name.reverse;
Ответ 16
Строка строк Rubys предлагает несколько методов для изменения случая строки.
Upcase
Upcase используется для заглавной буквы каждой буквы строки.
"pawan".upcase
returns: PAWAN
Downcase
Вниз используется каждая буква в строчной строке.
"PAWAN".downcase
returns: pawan
заглавной
Другой метод в классе строк - это заглавная. Этот метод заглаживает первую букву строки при уменьшении оставшихся букв.
"pAWAN".capitalize
returns: Pawan
Titleize
Titleize заглаживает каждое слово в строке. Помните, что вы можете использовать это только в том случае, если вы работаете в рамках Rails (или просто в стиле ActiveSupport).
name = "pawan Yadav"
name.titleize
returns: Pawan Yadav
Ссылка
http://lesseverything.com/blog/how-to-convert-a-string-to-upper-or-lower-case-in-ruby/#
Ответ 17
Вы можете найти метод строк, как "strings".methods
Вы можете определить строку как upcase
, downcase
, titleize
. Например,
"hii".downcase
"hii".titleize
"hii".upcase
Ответ 18
Метод .swapcase преобразует символы верхнего регистра в строку в нижний регистр и буквы нижнего регистра в верхний регистр.
'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
Ответ 19
Вы можете использовать метод строки Ruby
Для вставки
Верхний регистр используется для заглавной буквы каждой буквы строки.
"something".upcase
возвращает: НЕЧТО
Для нижнего диапазона
Внизу используется каждая буква в строчной строке.
"SOMETHING".downcase
возвращает: что-то
Ответ 20
Так как Ruby 2.4 существует встроенное полное отображение кода Unicode. Источник: fooobar.com/questions/23355/.... Более подробную информацию см. В документации к Ruby 2.4.0: https://ruby-doc.org/core-2.4.0/String.html#method-i-downcase
Ответ 21
Этот метод принимает строку строчных букв и создает новую строку, которая заглавная буква первой буквы каждого слова.
def capitalize_words(string)
words = string.split(" ")
idx = 0
while idx < words.length
word = words[idx]
word[0] = word[0].upcase
idx += 1
end
return words.join(" ")
end