es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Expresión regular que contiene símbolos tanto latinos como cirílicos.

Tengo la cadena obtenida de html_text()

feel sore — бoléte feel sore about — sufrir; padecer

Pero debería ser así

feel sore — boléte
feelsore about — sufrir; padecer

El problema es que rvest no distingue los espacios en blanco de los saltos de línea, pero necesito obtener únicamente la primera línea ” feel sore — boléte” de alguna manera.

Intenté usar stringr::str_extract() pero fallé. ¿Qué debo hacer?

ACTUALIZACIÓN: ok, descubrí que hay html_text2() pero ¿todavía es posible usar expresiones regulares?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible usar regex para extraer solo la primera línea “feel sore — болеть” del texto obtenido de html_text(). Así es como puedes hacerlo usando stringr::str_extract():

    “`{r}
    library(stringr)

    supongamos que tu texto está almacenado en la variable ‘my_string’

    my_string <- “feel sore — болеть feel sore about — страдать; мучиться”

    usa regex para coincidir solo con la primera línea

    string_extraido <- str_extract(my_string, “^.*(?=\r|\n)”)

    imprime el texto extraido

    string_extraido
    “`

    El código anterior debería mostrar como resultado “feel sore — болеть”, que es la primera línea del texto original. Aquí tienes una explicación de la regex utilizada en str_extract():

    • ^: el inicio de la línea
    • .*: cualquier carácter, repetido 0 o más veces
    • (?=\\r|\\n): una apariencia hacia adelante que coincide con \r o \n, lo que indica el final de la línea

    Basicamente, esta regex coincide con cualquier carácter en la primera línea hasta que llega al final de la línea (ya sea \r o \n).

Comments are closed.