我有一个类似“ ABC_Something_Filename”的字符串。如何在R中将其拆分为“ ABC_Something”和“文件名”?
我不想删除任何内容。我需要两个组件-最后一个下划线之前和之后。
编辑:我尝试使用提到的列分隔功能,但是对于我的用例来说,范围太广了。因此,我找到了一种正则表达式的替代方法,可以简单地拆分字符串
答案 0 :(得分:1)
一种选择是使用strsplit
并使用负前瞻,它断言要在其上进行拆分的下划线是输入中的最后一个:
input <- "ABC_Something_Filename"
parts <- strsplit(input, "_(?!.*_)", perl=TRUE)[[1]]
parts
[1] "ABC_Something" "Filename"
答案 1 :(得分:0)
您可以使用str_match
并捕获两组数据。
x <- 'ABC_Something_Filename'
stringr::str_match(x, '(.*)_(.*)')[, -1]
#[1] "ABC_Something" "Filename"