string - 在 R 中提取混合数字和字符的字符串的数字部分

标签 string r

我有很多字符串,每个字符串都有以下格式: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"

编辑 这 2 种方法是矢量化的,适用于字符串向量。
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"

关于string - 在 R 中提取混合数字和字符的字符串的数字部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451251/

相关文章:

java - Java:正则表达式不匹配

python - 字符串切片、迭代和列表问题

r - ggmap 缺少背景图(使用 pdf 设备时除外)

r - 在 R Shiny 服务器上保存临时文件

r - Julia:外积函数

r - 从txt文件中提取矩阵

r - 如何防止 marrangeGrob 打开图形设备

java - 格式化 UTC 日期时间的部分秒

c# - 将 String.Replace 替换为 Regex.Replace

从 R 中的字符串中删除\xa0\xa0