Как преобразовать строку в нижний или верхний регистр в 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!]

Ответ 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 и форму !.

Ответ 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

возвращает: что-то

Ответ 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