从 R 中的字符串中提取以特定字母开头的第一个单词[重复]

问题描述 投票:0回答:1

给定一个字符串,例如:

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
但不知道如何提取以给定字母开头的单词。

r regex string grep tidyverse
1个回答
0
投票

如果您想提取以

m
开头的第一个单词,您可以:

str_extract(input, "\\bm[a-z]+")
#[1] "maximum" "minimum"

哪里

input <- c("Notes for daily maximum temperatures", "Daily minimum temperature notes")
© www.soinside.com 2019 - 2024. All rights reserved.