【问题标题】:How to get the content of a string after an specific word in caps with R?如何使用R获取大写特定单词后的字符串内容?
【发布时间】:2019-02-22 00:45:01
【问题描述】:

我正在处理一个数据集,我从墨西哥总统 (Adnrés Manuel López Obrador) 的日常讲话中抓取抄本,包含在此 webpage 中。

每份文字记录的结构包括总统的主要信息、部分内阁成员的另一部分和提问记者的其他部分。每个部分由一个大写的单词分隔。

例如:

安德烈斯·曼努埃尔·洛佩斯·奥夫拉多尔总统:Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron。 Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados。 Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, alresidente urban. Es que hay otras cosas que yo entiendo también。 Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen,investiguen。 Con todo respeto,ustedes son mirones profesionales,son periodistas,pero muy buenos periodistas。 Ahí término con una。 -PREGUNTA:Agencia de Noticias AP。 Los medicos cubanos que estaban en Brasil, trabajando hasta Jair Bolsonaro, ellos podían venir a México; ¿ hay una negociación en ese sentido, para traer a los medicos cubanos a México? - 安德烈斯·曼努埃尔·洛佩斯·奥夫拉多尔总统:没有。Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos。怀孕:Señor Presidente、Shaila Rosagel、de Sin Embargo、retomando、nada más、para finalizar este tema de Jalisco y de la violencia。 Cuánto tiempo estiman para que empiece a disminuir la violencia, este tipo de ataques armados。 FRANCISCO GARDUÑO YÁÑEZ: El día de hoy se inicia una etapa más en estas Islas Marías, la primea fue cuando su fundación con Porfirio Díaz; la segunda fue cuando estuvo el general Múgica, que empieza la prevención; la siguiente fue en los 70, con Luis Echeverría en lo que fueron la Ley de Normas Mínimas; y ahora en la Cuarta Transformación es el cierre y el respeto a los derechos humanos。

我有兴趣只提取总统给出的部分

换句话说,那些由“PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:”和“PREGUNTA”或“FRANCISCO GARDUÑO”分隔的字符串。

我如何提取那些特定的字符串,或者在特定情况下删除剩余的字符串?

【问题讨论】:

  • 请说明您到目前为止所做的尝试以及您的尝试出了什么问题。

标签: r regex string


【解决方案1】:

每次总统讲话后,都会有另一个人的一大段文字遵循“。”的格式。 +“人名”+“:”。因此,您可以使用以下内容提取所有总裁谈话。

text <- c("lalala_testing_purpose PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron. Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados. Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, al presidente municipal. Es que hay otras cosas que yo entiendo también. Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen, investiguen. Con todo respeto, ustedes son mirones profesionales, son periodistas, pero muy buenos periodistas. Ahí término con una. -PREGUNTA: Agencia de Noticias AP. Los médicos cubanos que estaban en Brasil, trabajando hasta Jair Bolsonaro, ellos podían venir a México; ¿hay una negociación en ese sentido, para traer a los médicos cubanos a México? -PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: No. Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos. PREGUNTA: Señor presidente, Shaila Rosagel, de Sin Embargo, retomando, nada más, para finalizar este tema de Jalisco y de la violencia. Cuánto tiempo estiman para que empiece a disminuir la violencia, este tipo de ataques armados. FRANCISCO GARDUÑO YÁÑEZ: El día de hoy se inicia una etapa más en estas Islas Marías, la primera fue cuando su fundación con Porfirio Díaz; la segunda fue cuando estuvo el general Múgica, que empieza la prevención; la siguiente fue en los 70, con Luis Echeverría en lo que fueron la Ley de Normas Mínimas; y ahora en la Cuarta Transformación es el cierre y el respeto a los derechos humanos.")

library(stringr)


# step 1: get all the conversation chunk between President … : ------------

president_split <- str_split(string = text,pattern = "PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR: ")[[1]][-1] 


# step2: split all the chunks by :  ---------------------------------------

president_split_2 <- president_split %>% str_split(":")


# step3: remove everything after the last . -------------------------------

get_the_string <- function(string) {

substr(string[1], 1, (gregexpr(pattern = "\\.", string[1])[[1]] %>% max()))

}

sapply(president_split_2, get_the_string)

结果:

[1] "Es que yo hablé, en mi recorrido que hice por el país con todos los gobernadores, a ustedes les consta, porque muchos de los que están aquí me acompañaron. Entonces, antes de ir al acto, en la plaza pública, yo tenía un encuentro con el gobernador y ahí hablábamos, y un tema era acerca del papel de los delegados. Nadie puede decir que no les expliqué de qué se trataba, incluso, en algunos casos hasta públicamente hice mención de que el delegado nunca le iba a faltar el respeto a la autoridad local, al gobernador, alresidente urban. Es que hay otras cosas que yo entiendo también. Pero yo eso se los dejo de tarea a ustedes, para que ustedes indaguen,investiguen. Con todo respeto , ustedes son mirones profesionales, son periodistas, pero muy buenos periodistas. Ahí término con una。”

[2] “No. Eso es una volada de nuestros adversarios, que los queremos mucho, mucho, mucho, pero que son muy mentirosos。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 2014-10-03
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多