Saltar al contenido

Eliminar paréntesis y texto dentro de cadenas en R

Posteriormente a consultar especialistas en este tema, programadores de diversas ramas y maestros hemos dado con la respuesta al problema y la compartimos en este post.

Solución:

A gsub debería trabajar aquí

gsub("\s*\([^\)]+\)","",as.character(companies$Name))

# [1] "Company A Inc"  "Company B"      "Company C Inc."
# [4] "Company D Inc." "Company E" 

Aquí simplemente reemplazamos las ocurrencias de “(…)” con nada (también eliminamos cualquier espacio inicial). R hace que se vea peor de lo que es con todos los escapes que tenemos que hacer para los paréntesis ya que son caracteres especiales en expresiones regulares.

podrías usar stringr::str_replace. Es bueno porque acepta variables de factor.

companies <- data.frame(Name=c("Company A Inc (COMPA)","Company B (BEELINE)", 
                               "Company C Inc. (Coco)", "Company D Inc.", 
                               "Company E"))

library(stringr)
str_replace(companies$Name, " \s*\([^\)]+\)", "")
# [1] "Company A Inc"  "Company B"      "Company C Inc." 
# [4] "Company D Inc." "Company E"

Y si todavía quieres usar strsplitPodrías hacerlo

companies$Name <- as.character(companies$Name)
unlist(strsplit(companies$Name, " \(.*\)"))
# [1] "Company A Inc"  "Company B"      "Company C Inc."
# [4] "Company D Inc." "Company E" 

También podrías usar:

library(qdap)
companies$Name <-  genX(companies$Name, " (", ")")

companies
        Name
1  Company A Inc
2       CompanyB
3 Company C Inc.
4 Company D Inc.
5       CompanyE

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *