Está en la página 1de 2

EJERCICIO #3

library(stringr)

# Función para extraer la información de cada mensaje


extraer_info <- function(mensaje) {
# Fecha
fecha <- str_extract(mensaje, "\\d{2}/\\d{2}/\\d{4}")[[1]]

# Nombre
nombre <- str_extract(mensaje, "[A-ZÀ-Ú]+\\s[A-ZÀ-Ú]+")[1]

# Teléfono
telefono <- str_extract(mensaje, "\\d{8}")[[1]]

# Correo electrónico
correo <- str_extract(mensaje, "\\w+@\\w+\\.\\w+")[[1]]

# Si no se encuentra información, se coloca NA


if (is.na(nombre)) nombre <- NA
if (is.na(telefono)) telefono <- NA
if (is.na(correo)) correo <- NA

# Devolver la información
list(fecha = fecha, nombre = nombre, telefono = telefono, correo = correo)
}

# Extraer la información de cada mensaje


mensajes <- c(
"ARTURO LOPEZ - 20/01/2019, BUENAS TARDES ME GUSTARÍA INFORMACIÓN 89908945",
"MARIA JIMENEZ - 20/01/2019, PRECIO?",
"MARIA JIMENEZ - 22/01/2019, CUANTOS CUARTOS?",
"MARIA JIMENEZ - 23/01/2019, ???",
"ANA SEGURA - 29/01/2019, ME INTERESA LA CASA, INFORMACIÓN A
ANA_SEGURA@GMAIL.COM",
"CARLOS CASTRO - 02/02/2019, 60-01-23-25 DEJO MI TELEFONO PARA QUE ME ENVIEN
INFORMACIÓN",
"PEDRO PEREZ - 02/02/2019, SE ADMITEN MASCOTAS?",
"PEDRO PEREZ- 02/02/2019, QUE DIA PODRÍA VISITAR EL LUGAR 88499535",
"ARTURO LOPEZ - 02/02/2019, INFORMACIÓN POR FAVOR A 89908945",
"ANDRES JIMENEZ - 03/02/2019, ME INTERESA PASENME INFORMACION",
"CARMEN AGUERO - 03/02/2019, CUANTAS HABITACIONES TIENE?",
"MARCOS CRUZ - 03/02/2019, 27839090, PUEDO VISITAR LA CASA MAÑANA?",
"PAMELA BARQUERO - 05/02/2019, INFO PAME82@HOTMAIL.COM",
"MARCO PONCE - 05/02/2019, EL PRECIO ES NEGOCIABLE?",
"OSCAR MEDINA - 05/02/2019, INFORMACIÓN, INFO@TRANSPORTESMEDINA.CO.CR",
"CARMEN BALERO - 05/02/2019, NOS INTERESA PARA PASARNOS ESTE MISMO FIN DE SEMANA,
89003349 o 60893454",
"MARTA FLORES- 10/02/2019, A QUE NUMERO LLAMO PARA COORDENAR UNA VISITA? LLAMENME
AL 8645-2876",
"OSCAR MEDINA - 10/02/2019, LLAMENME AL 25694500"
)

info_mensajes <- lapply(mensajes, extraer_info)

# Convertir a data frame


df_info <- data.frame(do.call(rbind.data.frame, info_mensajes))

# Mostrar el data frame


df_info

También podría gustarte