从破折号“-”

时间:2020-05-15 03:20:23

标签: r

我有一些看起来像这样的字符串:

x <- 'aaaaa-ttttt-eeee-q4-2015-file'

是否有特定的程序包或方法,我可以指定1,2或3来指定第一对第二个或第三对破折号之间的字符串。

因此,如果我指定了最终结果,我应该可以提取“ ttttt”,“ eeeee”或“ 2015”。

3 个答案:

答案 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)