首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RegEx和stringr软件包

RegEx和stringr软件包
EN

Stack Overflow用户
提问于 2015-05-20 08:34:14
回答 1查看 194关注 0票数 1

我是一个R新手,我的编程作业有麻烦。

输入是一首诗:

代码语言:javascript
复制
poem <- c(
  "Am Tag, an dem das L verschwand,", 
  "da war die Luft voll Klagen.",
  "Den Dichtern, ach, verschlug es glatt",
  "ihr Singen und ihr Sagen.",
  "Nun gut. Sie haben sich gefasst.",
  "Man sieht sie wieder schreiben.",
  "Jedoch:",
  "Solang das L nicht wiederkehrt,",
  "muß alles Flickwerk beiben.")

现在我需要提取所有的大写字母,并将它们合并成一个单词。我使用以下代码进行此操作:

代码语言:javascript
复制
poem_cap <- str_extract_all(poem, "[[:upper:]]")

然后我取消了poem_cap的列表:

代码语言:javascript
复制
one_word <- unlist(poem_cap)
one_word

下一个逻辑步骤是应用str_c

代码语言:javascript
复制
one_word2 <- str_c(one_word, sep="")

但是R不断地发出单独的字母!如果我复制one_word2的输出,用逗号分隔它,并将str_c应用于输出,它可以工作:

代码语言:javascript
复制
one_word2 <- str_c("A", "T", "L", "L", "K", "D", "D", "S", "S", "N", "S", "M", "J", "S", "L", "F", sep="")
one_word

这一切为什么要发生?我犯了什么错误吗?如何将one_word2转换为可以使用的str_c

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-20 08:51:53

基本R方法,您只需在一行中使用gsub只保留大写字母并粘贴它们(如@David Arenburg下划线所示):

代码语言:javascript
复制
paste(gsub('[^A-Z]','',poem), collapse='')
#[1] "ATLLKDDSSNSMJSLF"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30344358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档