Resumen: en este post te mostraré a usar la función strings.Split
de Go, la cual sirve para separar una cadena y convertirla a un arreglo utilizando un delimitador o separador, por ejemplo, la coma.
Separar cadena usando delimitador en Go
La función strings.Split
tiene la siguiente sintaxis:
arreglo := strings.Split(cadena, delimitador)
En donde cadena
es la cadena que vamos a separar, delimitador
es el separador que vamos a usar y finalmente arreglo
es una lista limpia de cada elemento de cadena
separado por delimitador
.
Para usar esta función se debe importar strings
.
Ejemplo de strings.Split en Go
Veamos un ejemplo, pues así se entiende de mejor manera:
package main
/*
Separar una cadena usando un delimitador
en Go; a través de la función Split
https://parzibyte.me/blog/
*/
import (
"fmt"
"strings"
)
func main() {
nombres := "Luis,María José,Fernando,John Galt"
delimitador := ","
nombresComoArreglo := strings.Split(nombres, delimitador)
for _, nombre := range nombresComoArreglo {
fmt.Println(nombre)
}
}
/*
Salida:
Luis
María José
Fernando
John Galt
*/
En este caso tenemos una cadena separada por comas. Usamos el carácter ","
como separador y después iteramos la lista con un range
.
En cada paso del ciclo imprimimos el nombre, con la salida que igualmente se ve en el código.
Usar delimitador más largo
Cabe mencionar que el delimitador puede tener más de un carácter y que de hecho puede ser una cadena:
package main
/*
Separar una cadena usando un delimitador
de varios caracteres
en Go; a través de la función Split
https://parzibyte.me/blog/
*/
import (
"fmt"
"strings"
)
func main() {
cadena := "--Hola--Mundo--Ejemplo--Parzibyte.me"
delimitador := "--"
arreglo := strings.Split(cadena, delimitador)
for _, separado := range arreglo {
fmt.Println(separado)
}
}
Otro delimitador válido es el salto de línea \n
, la tabulación \t
, así como el espacio " "
.