🥇 Expresiones Regulares, Limpieza de datos.

Otra forma de ir preparando los datos es remover el código que no necesitamos, de forma que solo nos quede el código que necesitamos.

Una etiqueta html luce por lo regular asi…

<etiqueta propiedad="valor"></etiqueta>

Por lo que para hacer coincidir cualquier etiqueta html usamos la expresión regular.

<[^>]+>

Es decir

Entonces…

Nuestro programa lucirá así…

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "regexp"
)

func main() {

    datosComoBytes, err := ioutil.ReadFile("lista.html")
    if err != nil {
        log.Fatal(err)
    }

    coincidenciasRe := regexp.MustCompile(`<li>(.+)</li>`)

    htmlRe := regexp.MustCompile(`<[^>]+>`)

    nombres := coincidenciasRe.FindAllString(string(datosComoBytes), -1)

    for _, nombre := range nombres {
        nombreSinHtml := htmlRe.ReplaceAllString(nombre, "")
        fmt.Println(nombreSinHtml)
    }

}

Explicación…

Tenemos el mismo caso del ejemplo anterior, pero en esta ocasión.

coincidenciasRe := regexp.MustCompile(`<li>(.+)</li>`)
htmlRe := regexp.MustCompile(`<[^>]+>`)
nombres := coincidenciasRe.FindAllString(string(datosComoBytes), -1)
for _, nombre := range nombres {
    // ...
}
nombreSinHtml := htmlRe.ReplaceAllString(nombre, "")
fmt.Println(nombreSinHtml)
LuisPerez
AdrianRomo
DanielQuiroz
Expresiones Regulares, Extracción de datos. Time, Introducción.
comments powered by Disqus