regex to remove words starting with string - r

I am working on a text mining case in R and I need to remove from my Corpus all the words that start with https.
I am still learning regex so your help will be much appreciated!
I am trying to remove all the https(and subsequent string until the space) for the following:
haciendo principales httpstcotogmdfcq felicidades rodrigo equipo madre nominación oscars cine español enh httpstcopupepkzwx pasando cataluña insostenible sociedad catalana rehén supremacistas desar httpstcojzgilkyx auténtica broma sánchez critique acuerdo pp andalucía pactado torra apel httpstcofwevrjfpsv puede ser roto espacio electoral tres partidos siquiera hablen ponerse acuerdo httpstcoydkjmydxhc gobierno socialista ningún proyecto españa quedarse moncloa solo quiere mantener httpstcoqwibvkxl allá gobernado ppopular transformado bien vida españoles preparados go httpstcocdntnstbpa partido político objetivo mismo

Related

Revtools: Load spanish characters in bibliographic data

I already have my locale to: Spanish_Mexico.1252 and my encoding to UTF-16LE yet my data frame with the function read_bibliography ignores the characters in Spanish from Web of Science. There are no extra options for this function. Anyone has any experience in this package?
sample data:https://privfile.com/download.php?fid=62e01e7e95b08-MTQwMTc=
mydata <- revtools::read_bibliography("H:/Bibliométrico/Datos Bibliográficos/SCIELO/SCIQN220722.txt")
head(mydata$title)
[1] "Metodologa de auditoria de marketing para servicios cientfico-tcnicos con enfoque de responsabilidad social empresarial"
[2] "Contribucin a la competitividad de una empresa con herramientas estratgicas: Mtodo ABC y el personal de la organizacin"
[3] "Quality tools and techniques, EFQM experience and strategy formation. Is there any relationship?: The particular case of Spanish service firms"
[4] "Determinantes de las patentes y otras formas de propiedad intelectual de los estados mexicanos"
[5] "Modelos de clculo de las betas a aplicar en el Capital Asset Pricing Model: el caso de Argentina"
[6] "Mapas cognitivos difusos para la seleccin de proyectos de tecnologas de la informacin"
See how it ommits the latin charactes such as the í in Metodología, Contribucn instead of Contribución, etc.

Unicode in string is giving problems for replacement

I am working with strings in R. My issue rises with a special character that is not allowing to replace the strings properly. I do some replacement to extract a text between __ and _ but it is not working for last examples. The code is next:
#Extract
y$Extract <- gsub(".*[_]{2}([^_]+)[_].*", "\\1",gsub('\n\n','_',y$Var))
The data used is:
#Data
y <- structure(list(Var = c("\n\n\nEl sector turístico en Mexico: análisis de la incidencia de la pandemia de la Covid-19 en el margen bruto, y propuesta de mejora para los hoteles 5 estrellas ubicados en la provincia de Taco, cantón Taco, parroquia GX\n\n <U+FEFF> \n \n\n\n\nCabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)\n\nLa presencia del Coronavirus sin duda ha provocado desestabilización en uno de los sectores más perjudicados, que es el hotelero, ya que cuando hubo la pandemia, en Ecuador y en todo el mundo, se tomaron medidas de ...\n\n",
"\n\n\nAnálisis de costos y rentabilidad años 2018 al 2020 para industrias manufactureras de tamaño grande con mayores ingresos orientados a mercados regionales, subsector elaboración de productos alimenticios y bebidas en Mexico\n\n <U+FEFF> \n \n\n\n\nAlbarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)\n\nEl presente trabajo de titulación se enfoca en analizar los costos y rentabilidad de los años 2018 al 2020 para industrias manufactureras de tamaño grande con mayores ingresos orientados a mercados regionales, ...\n\n",
"\n\n\nPlan de negocios para la implementación de una empresa de asesoría de bodas ubicada en el Distrito Mexicano\n\n <U+FEFF> \n \n\n\n\nAndrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)\n\nEste trabajo tiene como objetivo la realización de un plan de negocios dentro del mundo de la planificación de bodas y el asesoramiento que se podría brindar dentro de la cuidad de Mexico. Dentro de este trabajo se ...\n\n",
"\n\n\nDiseño de un sistema de gestión de la calidad basado en la norma Iso 9001:2008 para los procesos relacionados con el cliente en la empresa la Competencia S.A.\n\n <U+FEFF> \n \n\n\nCadena Echeverría, Jaime Luis Hermel* (TEC, 2014)\n\nEn el presente trabajo se ha diseñado la documentación requerida para un sistema de\r\ngestión de la calidad basado en la Norma ISO 9001:2008 de los procesos relacionados con\r\nel cliente de la empresa La Competencia S.A., ...\n\n",
"\n\n\nDiseño e implementación de un modelo de marketing basado en estrategias para un crecimiento continuo, con innovación y financiamiento para la Empresa Jocotours Cia. Ltda., en el Distrito Mexicano para el año 2015\n\n <U+FEFF> \n \n\n\nSánchez García, Roberto Carlos* (TEC, 2015)\n\nLa empresa Jocotours fue creada en el año 2010 con el propósito de mejorar el turismo de su organización relacionada Fundación de Conservación Jocotoco, una entidad que se dedica a la conservación de las aves amenazadas ...\n\n",
"\n\n\nPlan de negocios para la explotación técnica, ecónomica y ecológica de una mina de agregados pétreos en la parroquia de Chilos\n\n <U+FEFF> \n \n\n\nAutor desconocido (TEC / 2011, 2011-03)\n\nEl presente trabajo de disertación de desenvuelve como un proyecto de gestión de riesgos y salud ocupacional de la TEC, el cual abarca la implementación, desarrollo, manteniemiento y control del sistema de gestión de ...\n\n"
)), row.names = c(NA, -6L), class = "data.frame")
But the output for final three rows is wrong (sorry for image, print is too large):
It should be similar to first rows with the names and year. I think the unicode is doing something to text and I do not know how to solve it.
Many thanks for your help.
Instead of using multiple gsub, we could extract if the pattern is similar across the elements - here the pattern matched is one or more characters (.*) till the unicode character (<U+..>) followed by one or more spaces (\\s+), newlines (\\n+) another set of space, newline (\\s+\\n+), then match the characters that are not a closing bracket ([^)]+) followed by a closing bracket (\\)) and capture those within (...)). In the replacement, specify the backreference (\\1) of the captured substring
sub(".*\\<U\\+[^>]+>\\s+\n+\\s+\\n+([^)]+\\))\n.*", "\\1", y$Var)
[1] "Cabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)"
[2] "Albarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)"
[3] "Andrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)"
[4] "Cadena Echeverría, Jaime Luis Hermel* (TEC, 2014)"
[5] "Sánchez García, Roberto Carlos* (TEC, 2015)"
[6] "Autor desconocido (TEC / 2011, 2011-03)"
Or can be also
sub(".*\n{2,}([^(]+[()][^)]+\\)).*", "\\1", y$Var)
[1] "Cabezas Vásquez, Dayanna Gabriela\n (UNAM - TEC, 2022-07-01)"
[2] "Albarracín Cedeño, Madelaine Nicole\n (ITAM - CAS, 2022-06-01)"
[3] "Andrade Totoy, Gabriela Abigail\n (ITAM, 2022-06-01)"
[4] "Cadena Echeverría, Jaime Luis Hermel* (TEC, 2014)"
[5] "Sánchez García, Roberto Carlos* (TEC, 2015)"
[6] "Autor desconocido (TEC / 2011, 2011-03)"

Accented characters in R

I'm using R/RStudio on a Windows machine that I purchased in Japan, and I want to input Twitter data (in Spanish) from a social media analysis platform. For example, I have a file in XLSX format containing just two cells:
RT #PajeroHn #Emerson_182 ya sabía que eras olímpia pero no que eras extorsionador aunque era de esperarse 🌚
Jodas Kevo. A menos que vos seas extorsionador😂😂😂😂😂😂
There are accented vowels in there, as well as some non-standard emoticon characters that didn't make it through the export process intact. I tried this previously using the xlsx package, but it looks like XLConnect might be a better choice:
library(XLConnect)
test <- readWorksheetFromFile('test.xlsx',sheet=1,header=FALSE)
This is OK; I might even be able to do something useful with the emoticons. I'm bothered that it converts the accented characters (in "sabía" and "olímpia") to their unaccented equivalents:
test
RT #PajeroHn #Emerson_182 ya sabia que eras olimpia pero no que eras extorsionador aunque era de esperarse <ed><U+00A0><U+00BC><ed><U+00BC><U+009A>
Jodas Kevo. A menos que vos seas extorsionador<ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082>
My locale is Japanese:
Sys.getlocale()
"LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japanese_Japan.932"
but changing it actually makes matters worse:
Sys.setlocale("LC_ALL","Spanish")
[1] "LC_COLLATE=Spanish_Spain.1252;LC_CTYPE=Spanish_Spain.1252;LC_MONETARY=Spanish_Spain.1252;LC_NUMERIC=C;LC_TIME=Spanish_Spain.1252>
test <- readWorksheetFromFile('test.xlsx',sheet=1,header=FALSE)
test
RT #PajeroHn #Emerson_182 ya sab僘 que eras ol匇pia pero no que eras extorsionador aunque era de esperarse <ed><U+00A0><U+00BC><ed><U+00BC><U+009A>
Jodas Kevo. A menos que vos seas extorsionador<ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082><ed><U+00A0><U+00BD><ed><U+00B8><U+0082>
Any ideas?
This should work:
testx2 <- read.xlsx2('test.xlsx',sheetIndex=1,header = FALSE, encoding = 'UTF-8')

R- delete accents in string

I have a library with html files and in files_dep I have the list of them. I need to convert the text stored in them to a table, but the issue is that they have accents and ñ. I wrote this to read it and works ok.
for (i in files_dep) {
text<-readLines(i,encoding="UTF-8")
aa<-paste(text, collapse=' ')
if (grepl(empieza,aa) & grepl(termina,aa)) {
nota=gsub(paste0("(^.*", empieza, ")(.*?)(", termina, ".*)$"), "\\2", aa)
#nota<-iconv(nota,to="ASCII//TRANSLIT")
df<-rbind(df, data.frame(fileName=i, nota=nota)) }}
I can read things like:
Este sábado enfrentarán a un equipo.
So I only need to delete the accents.
I tried uncommenting the
nota <- iconv(nota,to="ASCII//TRANSLIT")
but I get:
Este sA!bado se enfrentarA!n a un equipo.
So, I don't know what the problem is.
Also, I need to delete accents and all special characters. Thanks
Edition:
I took the last data stored in nota at the end of the loop. THis is what I see:
nota
[1] " <p>La inclusión del seleccionado argentino en el viejo Tres Naciones significó, hace tres años, la confirmación de que el nivel del rugby argentino estaba a la altura de los grandes equipos del planeta, aunque se preveía que esa transición entre ser un equipo <em>del montón</em> a formar parte de la<em> elite </em>no iba a ser sencilla<em>. </em>Hoy, luego de dos años de competencia en el Rugby Championship, Los Pumas están cada vez más cerca de dar el batacazo y conseguir su primer triunfo en la historia del torneo.</p><p>
If I do:
iconv(nota,to="ASCII//TRANSLIT")
I get:
iconv(nota,to="ASCII//TRANSLIT")
[1] " <p>La inclusiA3n del seleccionado argentino en el viejo Tres Naciones significA3, hace tres aA?os, la confirmaciA3n de que el nivel del rugby argentino estaba a la altura de los grandes equipos del planeta, aunque se preveA-a que esa transiciA3n entre ser un equipo <em>del montA3n</em> a formar parte de la<em> elite </em>no iba a ser sencilla<em>. </em>Hoy, luego de dos aA?os de competencia en el Rugby Championship, Los Pumas estA!n cada vez mA!s cerca de dar el batacazo y conseguir su primer triunfo en la historia del torneo.
When I faced a similar problem, I used the function stri_trans_general from the stringi package. For example you can try: stri_trans_general(nota,"Latin-ASCII")
I use this function
rm_accent <- function(str,pattern="all") {
if(!is.character(str))
str <- as.character(str)
pattern <- unique(pattern)
if(any(pattern=="Ç"))
pattern[pattern=="Ç"] <- "ç"
symbols <- c(
acute = "áéíóúÁÉÍÓÚýÝ",
grave = "àèìòùÀÈÌÒÙ",
circunflex = "âêîôûÂÊÎÔÛ",
tilde = "ãõÃÕñÑ",
umlaut = "äëïöüÄËÏÖÜÿ",
cedil = "çÇ"
)
nudeSymbols <- c(
acute = "aeiouAEIOUyY",
grave = "aeiouAEIOU",
circunflex = "aeiouAEIOU",
tilde = "aoAOnN",
umlaut = "aeiouAEIOUy",
cedil = "cC"
)
accentTypes <- c("´","`","^","~","¨","ç")
if(any(c("all","al","a","todos","t","to","tod","todo")%in%pattern)) # opcao retirar todos
return(chartr(paste(symbols, collapse=""), paste(nudeSymbols, collapse=""), str))
for(i in which(accentTypes%in%pattern))
str <- chartr(symbols[i],nudeSymbols[i], str)
return(str)
}

Transform web text in Spanish to ASCII

I'm using R to do text mining. I have downloaded html files. I have issues trying to convert to text because the language is Spanish.
I used:
text<-readLines(i,encoding="UTF-8")
But still, I could have text like:
prueba= "hizo la diagonal desde la izquierda hacia el centro y
combinó con Ãngel Di María, quien despachó el centro desd e la
derecha con el revés de la zurda para que Sergio Agüero empujara en
la entrada del área chica."
Where combinó=combinó, área=área, etc. I need to keep only the original alphabetic characters.
I could have another text like the following:
prueba2="El club Atlas, de la Primera D, está en la
constante búsqueda de crecimiento. Y en esa
búsqueda, consiguió un aliado de lujo. El
presidente Maxi Ambrosio viajó al Vaticano y tras
entregarle una camiseta al Papa, le pidió al propio
Francisco que adopte a los de General Rodríguez como su
segundo equipo, después de San Lorenzo. La
reacción fue positiva"
where, for example, "después" means "después"
I tried:
iconv(prueba,to="ASCII//TRANSLIT")
But I get the same text.
How can I transform the text to ASCII?

Resources