如何解决在R中的最后一个下划线之后分割字符串
我有一个类似“ ABC_Something_Filename”的字符串。如何在R中将其拆分为“ ABC_Something”和“文件名”?
我不想删除任何内容。我需要两个组件-最后一个下划线之前和之后。
编辑:我尝试使用提到的列分隔功能,但是对于我的用例来说,范围太广了。因此,我找到了一种正则表达式的替代方法,可以简单地拆分字符串
解决方法
一种选择是使用strsplit
并使用负前瞻,它断言要在其上进行拆分的下划线是输入中的最后一个:
input <- "ABC_Something_Filename"
parts <- strsplit(input,"_(?!.*_)",perl=TRUE)[[1]]
parts
[1] "ABC_Something" "Filename"
,
您可以使用str_match
并捕获两组数据。
x <- 'ABC_Something_Filename'
stringr::str_match(x,'(.*)_(.*)')[,-1]
#[1] "ABC_Something" "Filename"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。