freeCodeCamp/guide/russian/ruby/ruby-string-methods/index.md

6.4 KiB
Raw Blame History

title localeTitle
Ruby String Methods Методы Ruby String

Методы Ruby String

Ruby имеет много встроенных методов для работы со строками. Строки в Ruby по умолчанию изменяемы и могут быть изменены на месте или новая строка может быть возвращена из метода.

Длина:

  • Свойство .length возвращает количество символов в строке, включая пробел. ruby "Hello".length #=> 5 "Hello World!".length #=> 12

Empty:

  • .empty? метод возвращает true если длина строки равна нулю. ruby "Hello".empty? #=> false "!".empty? #=> false " ".empty? #=> false "".empty? #=> true

Количество:

  • Метод .count подсчитывает, сколько раз в строке содержится определенный символ (символы).
  • Этот метод чувствителен к регистру. ruby "HELLO".count('L') #=> 2 "HELLO WORLD!".count('LO') #=> 1

Вставка:

  • Метод .insert вставляет строку в другую строку перед данным индексом. ruby "Hello".insert(3, "hi5") #=> Helhi5lo # "hi5" is inserted into the string right before the second 'l' which is at index 3

Upcase:

  • Метод .upcase преобразует все буквы в строке в верхний регистр. ruby "Hello".upcase #=> HELLO

Downcase:

  • Метод .downcase преобразует все буквы в строку в нижний регистр. ruby "Hello".downcase #=> hello

Swapcase

  • Метод .swapcase преобразует .swapcase в строке в нижний регистр и строчные буквы в верхний регистр. ruby "hELLO wORLD".swapcase #=> Hello World

прописной:

  • Метод .capitalize делает первую букву в строке в верхнем регистре, а остальную часть строки строчной. ruby "HELLO".capitalize #=> Hello "HELLO, HOW ARE YOU?".capitalize #=> Hello, how are you?

Обратите внимание, что первая буква только заглавная, если она находится в начале строки. ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello

Задний ход:

  • .reverse метод отменяет порядок символов в строке. ruby "Hello World!".reverse #=> "!dlroW olleH"

Трещина:

  • .split берет строки и разбивает их на массив, а затем возвращает массив.

    "Hello, how are you?".split #=> ["Hello,", "how", "are", "you?"] 
    
    
  • Метод по умолчанию разбивает строку на основе пробелов, если не указан другой разделитель (см. Второй пример). ruby "Hello".split('-') #=> ["H", "e", "l", "l", "o"]

Чоп:

  • Метод .chop удаляет последний символ строки.

  • Возвращается новая строка, если вы не используете .chop! метод, который мутирует исходную строку.

    "Name".chop #=> Nam 
    
    
    name = "Batman" 
     name.chop 
     name == "Batma" #=> false 
    
    
    name = "Batman" 
     name.chop! 
     name == "Batma" #=> true 
    
    

Газа:

  • Метод .strip удаляет ведущие и конечные пробелы в строках, включая табуляции, новые строки и возврат каретки ( \t , \n , \r ). ruby " Hello ".strip #=> Hello

Chomp:

  • Метод .chomp удаляет последний символ в строке, только если это возврат каретки или .chomp строка ( \r , \n ).
  • Этот метод обычно используется с командой gets для удаления возвратов из пользовательского ввода. ruby "hello\r".chomp #=> hello "hello\t".chomp #=> hello\t # because tabs and other whitespace remain intact when using `chomp`

К Integer:

  • Метод .to_i преобразует строку в целое число. ruby "15".to_i #=> 15 # integer

GSUB:

  • gsub заменяет каждую ссылку первого параметра для второго параметра на строку.
"ruby is cool".gsub("cool", "very cool") #=> "ruby is very cool" 
  • gsub также принимает шаблоны (например, regexp ) в качестве первого параметра, позволяя такие вещи, как:
"ruby is cool".gsub(/[aeiou]/, "*") #=> "r*by *sc**l" 

конкатенация:

  • Ruby реализует некоторые методы, чтобы объединить две строки вместе:

  • Метод + :

    "15" + "15" #=> "1515" # string 
    
    
  • Метод << :

    "15" << "15" #=> "1515" # string 
    
    
  • Метод concat : ruby "15".concat "15" #=> "1515" # string

Индекс:

  • Метод index возвращает позицию индекса первого совпадения соответствия подстроки или шаблона регулярного выражения в строке.

  • Если совпадения не найдено, возвращается nil .

  • Второй необязательный параметр указывает, какая позиция индекса в строке начала поиск совпадения.

    "information".index('o') #=> 3 
     "information".index('mat') #=> 5 
     "information".index(/[abc]/) #=> 6 
     "information".index('o', 5) #=> 9 
     "information".index('z') #=> nil 
    
    

Очистить:

  • Удаляет содержимое строки. ruby a = "abcde" a.clear #=> ""