【发布时间】:2014-01-10 16:11:40
【问题描述】:
我向上帝发誓,在过去的 60 分钟里,我已经在整个互联网上搜索了“r get match”等谷歌搜索。我不想为这个简单的任务安装任何库。我有一个字符串"something1_something2",我想得到something1。
a<-"hi_there"
根据一些论坛条目,我应该用 sub 获得它:
> sub("hi_", "\\1", a)
[1] "there"
我想获得"hi",但我什至无法获得"hi_"。我已经尝试了一千件事,我该怎么做?
【问题讨论】:
-
strsplit(x, "_")[[1]]
-
gsub("(.*)_(.*)", "\\1", a)很可能是您所想的,但如果您描述条件而不是告诉我们您的搜索历史会有所帮助:-) -
sub删除你匹配的!您实际上希望sub("_there", "\\1", a)得到"hi"。您所描述的是使用regmatches提取字符串的匹配部分,其工作方式如下:regmatches( a , regexpr( "hi" , a ) )。看,同样的事情。