繁体   English   中英

在 R 中捕获并提取一个 RegEX 组

[英]Capturing and extracting a RegEX group in R

我有一组看起来像这样的数据:

text_string <- structure(list(text_string = c("A Nanny-Back Up Care and Staffing Company-San Diego, OC, LA, San Francisco, Portland, Las Vegas, Phoenix, Seattle, Denver and NY. @jefffoes", 
"Creative Producer of @crwnmag  LA-NY-TX dereksith@googke.com Founded @marcusharper", 
"daily elements for life and style  texas transplant in california LA lauren@gmail.com read my blog + shop my instagram", 
"LIVE, LAUGH, LOVE")), class = "data.frame", row.names = c(NA, 
-4L))

我正在尝试捕获字符串中“LA”的每个实例并用它创建一个新字段。 在我使用的 Regex 代码中,它应该为前三个字符串返回“LA”的匹配项,而最后一个不返回匹配项。 您可以在此处查看示例

我认为这段代码可以解决问题,但事实并非如此:

text_string_new <- text_string %>% mutate(new_field = str_replace(string = text_string,
                                                           pattern = "(LA)(\\b|,)",
                                                           replacement = "\\1"))

似乎所做的只是返回text_string字段的精确副本。

使用str_extract而不是str_replace似乎可以解决问题。

text_string %>% mutate(new_field = str_extract(string = text_string,
                                               pattern = "(LA)(\\b|,)"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM