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 .length
propiedad 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 true
si una cadena tiene una longitud de cero.
"Hello".empty? #=> false "!".empty? #=> false " ".empty? #=> false "".empty? #=> true
Contar
El .count
mé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 .insert
mé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 .upcase
método transforma todas las letras de una cadena en mayúsculas.
"Hello".upcase #=> HELLO
Downcase
El .downcase
método transforma todas las letras de una cadena en minúsculas.
"Hello".downcase #=> hello
Swapcase
El .swapcase
mé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 .capitalize
mé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 .reverse
método invierte el orden de los caracteres en una cadena.
"Hello World!".reverse #=> "!dlroW olleH"
División
El .split
toma 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 .chop
mé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 .strip
mé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 .chomp
mé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 gets
comando 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_i
mé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"
gsub
tambié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 #=> ""