Elixir:
Extracción de subcadenas
Cómo Hacerlo:
# Obtener substring con String.slice/3
cadena = "Hola, Universo Elixir"
substring = String.slice(cadena, 7, 8) # Empieza en el índice 7, toma 8 caracteres.
IO.puts substring
# Salida: Universo
# Utilizando ranges con String.slice/2
substring = String.slice(cadena, 7..14) # También puedes usar 7..-12
IO.puts substring
# Salida: Universo
# Obteniendo una sola letra
letra = String.at(cadena, 0) # Índice empieza en 0.
IO.puts letra
# Salida: H
A Fondo:
Antes de Elixir, venían otros lenguajes como Ruby o Python, donde ya se extraían subcadenas, pero Elixir brinda un enfoque funcional y concurrente a esta operación. Las alternativas incluyen patrones de coincidencia (pattern matching) o uso de funciones como String.split/2
. Internamente, Elixir maneja las subcadenas de manera eficiente, debido a su naturaleza inmutable y la representación binaria del texto.
# Ejemplo de pattern matching para obtener substrings
<<"Hola, ", resto::binary>> = "Hola, Universo Elixir"
IO.puts resto
# Salida: Universo Elixir