【发布时间】:2022-12-18 07:12:44
【问题描述】:
我有
test<-"owidhsf 2121 .Record: 1111, Field: kjhdlksd 22 33 455"
我想提取1111
我不能使用substr(),因为字符串的长度是可变的。但所需的输出 (1111) 将始终在模式 Record: 1111, Field 内
首选 Tidyverse 解决方案。
【问题讨论】:
我有
test<-"owidhsf 2121 .Record: 1111, Field: kjhdlksd 22 33 455"
我想提取1111
我不能使用substr(),因为字符串的长度是可变的。但所需的输出 (1111) 将始终在模式 Record: 1111, Field 内
首选 Tidyverse 解决方案。
【问题讨论】:
如果数字在 Record: 之后,则使用带有正则表达式环视的 str_extract
library(stringr)
str_extract(test, "(?<=Record: )\d+")
[1] "1111"
或者在base R中,我们可以捕获数字
sub(".*\s\.Record:\s+(\d+),\s*Field.*", "\1", test)
[1] "1111"
【讨论】: