【发布时间】:2022-01-18 21:41:05
【问题描述】:
我正在努力解决字符串提取问题 - 请参阅下面的示例。如果您能帮助我,我将不胜感激!
注意:抱歉我在这里缺乏正则表达式知识
目标:我正在尝试从参考向量到目标向量之间的文本中提取匹配项,并在表中创建一个新变量,从参考文本中分配文本。 p>
目前为止的目标数据框、搜索文本和尝试的方法示例:
a <- c(1, 2, 3, 4, 5, 6, 7)
b <- c('TC2', 'TC25', 'TC255', 'Tops', 'TC2_', 'TC2 ', 'TC2555')
df <- data.frame(a, b)
search_text <- c('TC2', 'TC255')
search_string <- paste(paste0(search_text, '[regexp]'), sep = "", collapse = "|")
df %>%
mutate(match = str_extract(b, search_string))
[regexp] 表示我试图让这种方法发挥作用的各种事情......它包括各种“头脑发热的想法”,如“\\d?”等等(更多组合这和我想记住的类似)。正如您可能想象的那样无济于事。
所需的输出:
最终我想达到这个....
a <- c(1, 2, 3, 4, 5, 6, 7)
b <- c('TC2', 'TC25', 'TC255', 'Tops', 'TC2_', 'TC2 ', 'TC2555')
match <- c('TC2', NA_character_, 'TC255', NA_character_, 'TC2', 'TC2', NA_character_)
df_desired <- data.frame(a, b, match)
非常感谢您的帮助
【问题讨论】:
-
你的意思是
df_desired <- data.frame(a, b, match)? -
对不起,是的。我会编辑