如果你在r中有一个字符串,那就像......
messystuffSample0001moremessystuff 而且你想得到 Sample0001
这样做会有什么好办法,特别是如果杂乱的东西和更多的内容和大小不同的话。感兴趣的部分是" Sample"再加上4位数。
答案 0 :(得分:3)
您可以使用str_extract()
包中的stringr
。
library(stringr)
mess <- "messystuffSample0001moremessystuff"
str_extract(mess, "Sample\\d{4}")
# [1] "Sample0001"
使用正则表达式Sample\\d{4}
提取正则表达式匹配,匹配“Sample”后跟4位数。
正如弗兰克指出的那样,这也可以用基数R来完成:
regmatches(mess, regexpr("Sample\\d{4}", mess))
答案 1 :(得分:1)
您可以使用sub
:
sub(".*(Sample\\d{4}).*", "\\1", "messystuffSample0001moremessystuff")
# [1] "Sample0001"