Explicación de los métodos de cadena de rubí: longitud, vacío y otros métodos integrados

Ruby tiene muchos métodos integrados para trabajar con cadenas. Las cadenas en Ruby por defecto son mutables y se pueden cambiar en su lugar o se puede devolver una nueva cadena desde un método.

Longitud

La .lengthpropiedad devuelve el número de caracteres de una cadena, incluidos los espacios en blanco.

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

Vacío

El .empty?método devuelve truesi una cadena tiene una longitud de cero.

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

Contar

El .countmétodo cuenta cuántas veces se encuentran caracteres específicos en una cadena.

Este método distingue entre mayúsculas y minúsculas.

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

Insertar

El .insertmétodo inserta una cadena en otra cadena antes de un índice determinado.

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

Upcase

El .upcasemétodo transforma todas las letras de una cadena en mayúsculas.

"Hello".upcase #=> HELLO

Downcase

El .downcasemétodo transforma todas las letras de una cadena en minúsculas.

"Hello".downcase #=> hello

Swapcase

El .swapcasemétodo transforma las últimas letras mayúsculas en una cadena a minúsculas y las minúsculas a mayúsculas.

"hELLO wORLD".swapcase #=> Hello World

Capitalizar

El .capitalizemétodo convierte la primera letra de una cadena en mayúscula y el resto de la cadena en minúsculas.

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

Tenga en cuenta que la primera letra solo se escribe en mayúscula si está al principio de la cadena.ruby "-HELLO".capitalize #=> -hello "1HELLO".capitalize #=> 1hello

Contrarrestar

El .reversemétodo invierte el orden de los caracteres en una cadena.

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

División

El .splittoma una cadena y la divide en una matriz, luego devuelve la matriz.

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

El método predeterminado divide la cadena en función de los espacios en blanco, a menos que se proporcione un separador diferente (consulte el segundo ejemplo).

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

Picar

El .chopmétodo elimina el último carácter de la cadena.

Se devuelve una nueva cadena, a menos que utilice el .chop!método que muta la cadena original.

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

Tira

El .stripmétodo elimina los espacios en blanco anteriores y posteriores en las cadenas, incluyendo las lengüetas, saltos de línea, y retornos de carro ( \t, \n, \r).

" Hello ".strip #=> Hello

Masticar

El .chompmétodo elimina el último carácter de una cadena, solo si es un retorno de carro o una nueva línea ( \r, \n).

Este método se usa comúnmente con el getscomando para eliminar devoluciones de la entrada del usuario.

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

Al entero

El .to_imétodo convierte una cadena en un número entero.

"15".to_i #=> 15 # integer

Gsub

gsub reemplaza cada referencia del primer parámetro por el segundo parámetro en una cadena.

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

gsubtambién acepta patrones (como regexp ) como primer parámetro, permitiendo cosas como:

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

Concatenación

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