给定一个字符串,例如:
Notes for daily maximum temperatures
,如何在不引用单词“maximum”的位置或完整单词本身的情况下提取单词“maximum”?
也就是说,如果这个单词可能是“最小”,或者在其他示例中移动到字符串中的不同位置(例如,
Daily minimum temperature notes
),我如何提取以“m”开头的单词(无论该单词是什么) ,并假设该字符串中没有其他以“m”开头的单词?
下面我的解决方案使用硬编码值“4”,如果单词改变位置,这将会出现问题:
> library(stringr)
> example_string <- 'Notes for daily maximum temperatures'
> str_split_i(example_string , ' ', 4)
[1] "maximum"
我更喜欢 tidyverse 解决方案。我也尝试过使用
grep
但不知道如何提取以给定字母开头的单词。
如果您想提取以
m
开头的第一个单词,您可以:
str_extract(input, "\\bm[a-z]+")
#[1] "maximum" "minimum"
哪里
input <- c("Notes for daily maximum temperatures", "Daily minimum temperature notes")