Busquedas dentro de strings

¿Cómo buscar un texto dentro de otro en Go?

Una de las tareas comunes en el trabajo con strings es la búsqueda de texto. El método Index() permite realizar una búsqueda de un string dentro de otro, y retorna su posición en este iniciando en 0. En caso de no encontrase retorna -1.

Suponiendo que tenemos un string.

serie := "Dr House especialista médico"

Verificamos que el texto ista se encuentra dentro de la variable serie, después comprobamos que el indice retornado posicion sea diferente de -1 que es el valor retornado, e imprimimos dicha posición.

if posicion := strings.Index(serie, "ista"); posicion != -1 {
    fmt.Println("La posicion de 'ista' es: ", posicion)
}

Obtenemos…

La posicion de 'ista' es:  17

Ahora supongamos que deseamos buscar el string “mesta”, el cual sabemos no se encuentra. A diferencia del caso anterior, el valor retornado sera -1, por lo que podemos verificarlo de igual manera.

if posicion := strings.Index(serie, "mesta"); posicion == -1 {
    fmt.Println("'mesta' no se encuentra en el string")
}
'mesta' no se encuentra en el string

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios