我有一些看起来像这样的字符串:
x <- 'aaaaa-ttttt-eeee-q4-2015-file'
是否有特定的程序包或方法,我可以指定1,2或3来指定第一对第二个或第三对破折号之间的字符串。
因此,如果我指定了最终结果,我应该可以提取“ ttttt”,“ eeeee”或“ 2015”。
答案 0 :(得分:2)
不完全确定这是否是您所需要的,但是您可以使用软件包str_split
中的stringr
使用指定的模式将字符串分成多个部分。例如,对于您来说,str_split(your_string, "-",)
。然后,您可以过滤输出以指定要保留的内容。
library(stringr)
string <- "aaaaa-ttttt-eeee-q4-2015-file"
x<- str_split(string, "-")
x[[1]][1] #extract the first word
x[[1]][2] #extract second word
在此处查看文档https://www.rdocumentation.org/packages/stringr/versions/1.4.0/topics/str_split
答案 1 :(得分:2)
我们可以编写一个函数:
x <- 'aaaaa-ttttt-eeee-q4-2015-file'
return_string <- function(x, split = '-', n) strsplit(x, split)[[1]][n + 1]
return_string(x, '-', 1)
#[1] "ttttt"
return_string(x, '-', 2)
#[1] "eeee"
return_string(x, '-', 4)
#[1] "2015"
答案 2 :(得分:1)
您可以使用strsplit
a = "aaaaa-ttttt-eeee-q4-2015-file"
b = strsplit(a, "-")[[1]][c(2,3,5)]
print(b)