首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中跨越多条线的gsub (渡越)

在R中跨越多条线的gsub (渡越)
EN

Stack Overflow用户
提问于 2015-04-07 19:23:32
回答 1查看 723关注 0票数 2

用R中的gsub调用dotall表达式可以吗?基本上,我试图提取一段跨越多行的文本。以以下为例:

代码语言:javascript
复制
eg.df <- c("----------", " ", "keep", " ", "keep this too", " ", "----------", " ", 
   "Delete this line and everything after", "Delete this one too", 
   " ", "And delete this one")

我想使用第7-9行作为我的模式来匹配。我想删除这些行和后面的所有内容,直到文件结束为止。

代码语言:javascript
复制
[1] "----------"                           
[2] " "                                    
[3] "keep"                                 
[4] " "                                    
[5] "keep this too"                        
[6] " "                                    
[7] "----------"                           
[8] " "                                    
[9] "Delete this line and everything after"
[10] "Delete this one too"                  
[11] " "                                    
[12] "And delete this one"

因此,其结果将是:

代码语言:javascript
复制
[1] "----------"                           
[2] " "                                    
[3] "keep"                                 
[4] " "                                    
[5] "keep this too"                        
[6] " "               
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-07 19:32:41

你可以试试

代码语言:javascript
复制
  strsplit(sub('-+, +,[A-Za-z]+[^-]+$', '', 
         paste(eg.df, collapse= ',')), ',')[[1]]
  #[1] "----------"    " "             "keep"          " "            
  #[5] "keep this too" " "

或者正如@hwnd评论的那样,

代码语言:javascript
复制
  strsplit(sub('-+[^-]+\\z', '', paste(eg.df, collapse = '_'), 
                      perl=T), '_')[[1]]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29499608

复制
相关文章

相似问题

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