Spiegazione dei metodi di stringa Ruby: lunghezza, vuoto e altri metodi incorporati

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 .lengthproprietà restituisce il numero di caratteri in una stringa inclusi gli spazi.

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

Vuoto

Il .empty?metodo restituisce truese una stringa ha una lunghezza pari a zero.

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

Contare

Il .countmetodo 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 .insertmetodo 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 .upcasemetodo trasforma tutte le lettere in una stringa in maiuscolo.

"Hello".upcase #=> HELLO

Downcase

Il .downcasemetodo trasforma tutte le lettere in una stringa in minuscolo.

"Hello".downcase #=> hello

Swapcase

Il .swapcasemetodo trasforma le seconde maiuscole in una stringa in minuscolo e le lettere minuscole in maiuscolo.

"hELLO wORLD".swapcase #=> Hello World

Capitalizzare

Il .capitalizemetodo 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 .reversemetodo inverte l'ordine dei caratteri in una stringa.

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

Diviso

Il .splitprende 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 .chopmetodo 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 .stripmetodo 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 .chompmetodo 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 getscomando 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_imetodo 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"

gsubaccetta 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 #=> ""