Ruby ha molti metodi incorporati per lavorare con le stringhe. Le stringhe in Ruby per impostazione predefinita sono modificabili e possono essere modificate in posizione oppure è possibile restituire una nuova stringa da un metodo.
Lunghezza
La .length
proprietà restituisce il numero di caratteri in una stringa inclusi gli spazi.
"Hello".length #=> 5 "Hello World!".length #=> 12
Vuoto
Il .empty?
metodo restituisce true
se una stringa ha una lunghezza pari a zero.
"Hello".empty? #=> false "!".empty? #=> false " ".empty? #=> false "".empty? #=> true
Contare
Il .count
metodo conta quante volte uno o più caratteri specifici viene trovato in una stringa.
Questo metodo fa distinzione tra maiuscole e minuscole.
"HELLO".count('L') #=> 2 "HELLO WORLD!".count('LO') #=> 1
Inserire
Il .insert
metodo inserisce una stringa in un'altra stringa prima di un determinato indice.
"Hello".insert(3, "hi5") #=> Helhi5lo # "hi5" is inserted into the string right before the second 'l' which is at index 3
Upcase
Il .upcase
metodo trasforma tutte le lettere in una stringa in maiuscolo.
"Hello".upcase #=> HELLO
Downcase
Il .downcase
metodo trasforma tutte le lettere in una stringa in minuscolo.
"Hello".downcase #=> hello
Swapcase
Il .swapcase
metodo trasforma le seconde maiuscole in una stringa in minuscolo e le lettere minuscole in maiuscolo.
"hELLO wORLD".swapcase #=> Hello World
Capitalizzare
Il .capitalize
metodo rende la prima lettera in una stringa maiuscola e il resto della stringa in minuscolo.
"HELLO".capitalize #=> Hello "HELLO, HOW ARE YOU?".capitalize #=> Hello, how are you?
Nota che la prima lettera è in maiuscolo solo se si trova all'inizio della stringa.ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello
Inversione
Il .reverse
metodo inverte l'ordine dei caratteri in una stringa.
"Hello World!".reverse #=> "!dlroW olleH"
Diviso
Il .split
prende una stringa e la divide in un array, quindi restituisce l'array.
"Hello, how are you?".split #=> ["Hello,", "how", "are", "you?"]
Il metodo predefinito divide la stringa in base agli spazi, a meno che non venga fornito un separatore diverso (vedere il secondo esempio).
"H-e-l-l-o".split('-') #=> ["H", "e", "l", "l", "o"]
Tritare
Il .chop
metodo rimuove l'ultimo carattere della stringa.
Viene restituita una nuova stringa, a meno che non si utilizzi il .chop!
metodo che modifica la stringa originale.
"Name".chop #=> Nam
name = "Batman" name.chop name == "Batma" #=> false
name = "Batman" name.chop! name == "Batma" #=> true
Striscia
Il .strip
metodo rimuove gli spazi iniziali e finali sulle stringhe, tra cui le schede, a capo, e ritorni a capo ( \t
, \n
, \r
).
" Hello ".strip #=> Hello
Chomp
Il .chomp
metodo rimuove l'ultimo carattere in una stringa, solo se è un ritorno a capo o una nuova riga ( \r
, \n
).
Questo metodo viene comunemente utilizzato con il gets
comando per rimuovere i ritorni dall'input dell'utente.
"hello\r".chomp #=> hello "hello\t".chomp #=> hello\t # because tabs and other whitespace remain intact when using `chomp`
A Integer
Il .to_i
metodo converte una stringa in un numero intero.
"15".to_i #=> 15 # integer
Gsub
gsub
sostituisce ogni riferimento del primo parametro per il secondo parametro su una stringa.
"ruby is cool".gsub("cool", "very cool") #=> "ruby is very cool"
gsub
accetta anche modelli (come regexp ) come primo parametro, consentendo cose come:
"ruby is cool".gsub(/[aeiou]/, "*") #=> "r*by *s c**l"
Concatenazione
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 #=> ""