Пояснення рубінових струнних методів - довжина, порожній та інші вбудовані методи

У Ruby є багато вбудованих методів роботи зі рядками. Рядки в Ruby за замовчуванням змінюються і можуть бути змінені на місці або новий рядок може бути повернутий із методу.

Довжина

.lengthВластивість повертає кількість символів в рядку , в тому числі білого простору.

"Hello".length #=> 5 "Hello World!".length #=> 12

Порожній

.empty?Метод повертає , trueякщо рядок має нульову довжину.

"Hello".empty? #=> false "!".empty? #=> false " ".empty? #=> false "".empty? #=> true

Рахувати

У .countотсчетах методу , скільки разів конкретний символ (и) знаходяться в рядку.

Цей метод чутливий до регістру.

"HELLO".count('L') #=> 2 "HELLO WORLD!".count('LO') #=> 1

Вставити

.insertМетод вставляє рядок в іншу рядок перед даними індексом.

"Hello".insert(3, "hi5") #=> Helhi5lo # "hi5" is inserted into the string right before the second 'l' which is at index 3

Upcase

.upcaseМетод перетворює всі букви в рядку в верхньому регістрі.

"Hello".upcase #=> HELLO

Низький регістр

.downcaseМетод перетворює всі букви в рядку в нижньому регістрі.

"Hello".downcase #=> hello

Своп-кейс

У .swapcaseметод перетворює прописні latters в рядку в малі та великі літери у верхній регістр.

"hELLO wORLD".swapcase #=> Hello World

Написати великі літери

.capitalizeСпосіб зробити першу букву в рядку в верхньому регістрі , а інші рядки малих літер.

"HELLO".capitalize #=> Hello "HELLO, HOW ARE YOU?".capitalize #=> Hello, how are you?

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

Зворотний

.reverseМетод змінює порядок символів в рядку.

"Hello World!".reverse #=> "!dlroW olleH"

Спліт

.splitЗаймає рядки і розбиває його в масив, а потім повертає масив.

"Hello, how are you?".split #=> ["Hello,", "how", "are", "you?"]

Метод за замовчуванням розділяє рядок на основі пробілів, якщо не передбачено інший роздільник (див. Другий приклад).

"H-e-l-l-o".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).

" Hello ".strip #=> Hello

Чемп

.chompМетод видаляє останній символ в рядку, тільки якщо це повернення каретки або перекладу рядка ( \r, \n).

Цей метод зазвичай використовується з getsкомандою для видалення повернень із вводу користувача.

"hello\r".chomp #=> hello "hello\t".chomp #=> hello\t # because tabs and other whitespace remain intact when using `chomp`

Ціле число

.to_iМетод перетворює рядок у ціле число.

"15".to_i #=> 15 # integer

Гсуб

gsub замінює кожне посилання першого параметра на другий параметр у рядку.

"ruby is cool".gsub("cool", "very cool") #=> "ruby is very cool"

gsubтакож приймає шаблони (наприклад, регулярний вираз ) як перший параметр, дозволяючи такі речі:

"ruby is cool".gsub(/[aeiou]/, "*") #=> "r*by *s c**l"

Об’єднання

Ruby implements some methods to concatenate two strings together.

The + method:

"15" + "15" #=> "1515" # string

The << method:

"15" < "1515" # string

The concat method:

"15".concat "15" #=> "1515" # string

Index

The index method returns the index position of the first occurrence of the substring or regular expression pattern match in a string. If there is no match found, nil is returned.

A second optional parameter indicates which index position in the string to begin searching for a match.

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

Clear

Removes string content.

a = "abcde" a.clear #=> ""