我有很多字符串,每个字符串都倾向于具有以下格式:Ab_Cd-001234.txt我想用001234替换它。如何在R中实现它?

最佳答案

使用gsubsub,您可以执行以下操作:

 gsub('.*-([0-9]+).*','\\1','Ab_Cd-001234.txt')
"001234"

您可以将regexprregmatches一起使用
m <- gregexpr('[0-9]+','Ab_Cd-001234.txt')
regmatches('Ab_Cd-001234.txt',m)
"001234"

编辑这两种方法是矢量化的,适用于字符串 vector 。
x <- c('Ab_Cd-001234.txt','Ab_Cd-001234.txt')
sub('.*-([0-9]+).*','\\1',x)
"001234" "001234"

 m <- gregexpr('[0-9]+',x)
> regmatches(x,m)
[[1]]
[1] "001234"

[[2]]
[1] "001234"

10-05 18:33