Ruby are multe metode încorporate pentru a lucra cu șiruri. Șirurile din Ruby în mod implicit sunt modificabile și pot fi schimbate în loc sau un șir nou poate fi returnat dintr-o metodă.

Lungime

.length proprietatea returnează numărul de caractere dintr-un șir, inclusiv spațiul alb.

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

Gol

.empty? metoda revine true dacă un șir are o lungime zero.

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

Numara

.count metoda numără de câte ori se găsește un anumit caracter (e) într-un șir.

Această metodă este sensibilă la majuscule.

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

Introduce

.insert metoda introduce un șir într-un alt șir înainte de un index dat.

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

Dulap

.upcase metoda transformă toate literele dintr-un șir în majuscule.

"Hello".upcase #=> HELLO

Downcase

.downcase metoda transformă toate literele dintr-un șir în minuscule.

"Hello".downcase #=> hello

Swapcase

.swapcase metoda transformă laturile majuscule într-un șir în minuscule și literele mici în majuscule.

"hELLO wORLD".swapcase #=> Hello World

Valorifica

.capitalize metoda face prima literă într-un șir cu majuscule și restul șirului cu litere mici.

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

Rețineți că prima literă este cu majusculă numai dacă este la începutul șirului. ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello

Verso

.reverse metoda inversează ordinea caracterelor dintr-un șir.

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

Despică

.split ia o sfoară și despicături o într-o matrice, apoi returnează matricea.

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

Metoda implicită împarte șirul pe baza spațiului alb, cu excepția cazului în care este prevăzut un separator diferit (vezi al doilea exemplu).

"H-e-l-l-o".split('-') #=> ["H", "e", "l", "l", "o"]

A toca

.chop metoda elimină ultimul caracter al șirului.

Un nou șir este returnat, cu excepția cazului în care utilizați .chop! metoda care mută șirul original.

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

Bandă

.strip metoda elimină spațiul alb principal și final de pe șiruri, inclusiv file, linii noi și returnări de căruțe (t, n, r).

"  Hello  ".strip #=> Hello

Chomp

.chomp metoda elimină ultimul caracter dintr-un șir, numai dacă este vorba despre un return de căruță sau o linie nouă (r, n).

Această metodă este frecvent utilizată cu gets comanda pentru a elimina returnările din intrarea utilizatorului.

"hellor".chomp #=> hello
"hellot".chomp #=> hellot # because tabs and other whitespace remain intact when using `chomp`

Întreg

.to_i metoda convertește un șir într-un număr întreg.

"15".to_i #=> 15 # integer

Gsub

gsub înlocuiește fiecare referință a primului parametru pentru al doilea parametru pe un șir.

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

gsub acceptă, de asemenea, modele (cum ar fi regexp) ca prim parametru, permițând lucruri precum:

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

Concatenare

Ruby implementează câteva metode pentru concatenarea a două șiruri împreună.

+ metodă:

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

<< metodă:

"15" << "15" #=> "1515" # string

concat metodă:

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

Index

index metoda returnează poziția index a primei apariții a șirului sau a potrivirii modelului de expresie regulată într-un șir. Dacă nu se găsește nicio potrivire, nil este returnat.

Un al doilea parametru opțional indică poziția indexului din șir pentru a începe căutarea unei potriviri.

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

clar

Elimină conținutul șirului.

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