【发布时间】:2021-12-31 03:17:17
【问题描述】:
我正在寻找“年”一词之前的两位数和“年”一词之后的七位或八位数字。数据示例如下所示。
data <- "mr john is 45 years old his number is 12345678, mr doe is 57 years 7654321"
data <- as.list(data)
我尝试了这种方法,并且成功地在“年”这个词之前获得了两位数:
stringr::str_extract_all(data,regex(".\\d{2}\\s(?:year)"))
我也尝试过这种方法来获取单词“years”之后的数字:
str_extract_all(data,regex(".\\d{2}\\s(?:year).\\d{7,8}"))
我设法得到了直接出现在单词 years 之后的数字:
" 57 year 7654321"
但是,我没有成功获得“年”字后面的八位数字,其中包括数字和“年”字之间的其他字符。
如何通过跳过其他单词/字符仅在单词“years”之后检索数字?
非常感谢您的帮助
【问题讨论】:
-
你能确认预期的输出吗?请注意,您的输入没有
57 year 7654321子字符串 -
谢谢,预期结果是
45 years 12345678, 57 years 7654321 -
如果您的字符串不能在
year和 7-8 位数字之间包含另一个数字,Akrun 的解决方案将适用于您。 -
years old his number is是数字的中间吗?否则数字,不是数字,数字是你的解决方案,没有其他的 -
如果字符串是“john is 45 his number is 12345678, mr doe 7654321”怎么办?
"12345678"和"7654321"都在"years"之后。我怀疑你只想要前者,但从你如何陈述你的问题中并不清楚。你的问题需要澄清。请记住,提供示例用于说明;它们不能替代对问题的完整和明确的文字陈述。