【发布时间】:2022-01-22 02:34:58
【问题描述】:
我有一系列字符串,例如“任命 XX 为负责人”、“任命 YY 为负责人”(包含在标有“标题”的列中标有“df”的数据框中)
我想提取两个不同表达式之间的名称 XX、XY。
我目前正在使用以下内容:
df$name <- df$title %>%
str_extract(regex(pattern = "(?<=Appointment of).*(?= as)", ignore_case=TRUE))
但是,这仅适用于两种可能的模式之一。
df$name <- df$title %>%
str_extract(regex(pattern = "(?<=Appointment of).*(?= as)"|"(?<=joins).*(?= as)", ignore_case=TRUE))
这当然行不通。 如何创建多个模式以输入 str_extract?
如果需要,很乐意提供更多详细信息!
非常感谢
【问题讨论】:
-
"(?<=Appointment of).*?(?= as)|(?<=joins).*?(?= as)"?还是"(?<=Appointment of|joins).*?(?= as)"? -
嗨,Wiktor,这太棒了,我早该想到了!它有效!
-
我建议用测试数据和预期结果更新问题。
-
嗨,Wiktor,它可以工作...我在尝试代码时只是有太多空白空间,但现在它可以工作了!