如何在R数据帧中切割乳胶首字母缩略词链

时间:2016-10-18 15:36:36

标签: r regex string latex

我有一个乳胶文件,其首字母缩略词定义如下:

\newacronym{AEP}{AEP}{Alimentation en Eau Potable}
\newacronym{AERMC}{AERMC}{Agence de l'Eau Rhône Méditerranée et Corse}
\newacronym[longplural=Cotes d'Abondance Numériques]{CAN}{CAN}{Cote d'Abondance Numérique}

我的目标是建立一个包含两列的数据框,如:

AEP     Alimentation en Eau Potable
AERMC   Agence de l'Eau Rhône Méditerranée et Corse
CAN     Cote d'Abondance Numérique

我认为使用正则表达式或strsplit公式可以实现,但我无法建立它,{

存在很多问题
acronymes <- read_lines("acronymes.tex")
acronymes <- as.tbl(as.data.frame(acronymes))
acronymes %>% 
    rename(Complet = acronymes) %>% 
    filter(!grepl("^%.*", Complet)) # Because I have non used lines
acronymes$ABR <- sub("}.*","", acronymes$Complet)

您是否有正则表达式的想法或明确的手册?谢谢

1 个答案:

答案 0 :(得分:0)

也许不是最优雅的解决方案,但这有效。你需要用双反斜杠来逃避括号:

a <- readLines("acronymes.tex")
acronyms <- gsub(".*\\}\\{(.*)\\}\\{.*", "\\1", a)
descriptions <- gsub(".*\\}\\{(.*)\\}$", "\\1", a)
data.frame(acronyms, descriptions)