r - 使用 stringr 提取包含特定字符集的字符串中的整个单词
问题描述
我有一系列具有特定字符集的字符串。我想做的是能够从字符串中提取包含这些字符的单词,然后丢弃其余的。
我已经尝试了各种正则表达式来做到这一点,但我要么让它拆分所有单词,要么它返回整个字符串。以下是字符串种类的示例。我一直在尝试使用stringr::str_extract_all()
,因为在某些情况下需要删除多个单词。
data <- c("AlvariA?o, 1961","Andrade-Salas, Pineda-Lopez & Garcia-MagaA?a, 1994", "A?vila & Cordeiro, 2015", "BabiA?, 1922")
result <- unlist(stringr::str_extract_all(data, "regex"))
从此我想要一个结果,它可以提取所有带有“A?”的单词,如下所示:
result <- c("AlvariA?o", "MagaA?a", "A?vila", "BabiA"?)
这看起来很简单,但我的正则表达式知识目前还没有削减它。
解决方案
要匹配?
它需要用 转义\\?
,所以A\\?
会匹配A?
。\\w
匹配任何单词字符(相当于 [a-zA-Z0-9_])并*
匹配前一个标记在零次和无限次之间,尽可能多次,根据需要返回(贪婪)。
unlist(stringr::str_extract_all(data, "\\w*A\\?\\w*"))
#[1] "AlvariA?o" "MagaA?a" "A?vila" "BabiA?"
推荐阅读
- wpf - 如何在 UWP 中为举行活动设置自定义持续时间?
- swift - @FetchRequest 模拟使用标准观察记录计数
- python - 通过python连接oracle DB
- dataset - KITTI 数据集中训练数据的标签文件
- javascript - 如何使用按钮将值粘贴到页面中?
- ssh - SSH远程端口转发空响应
- azure-data-explorer - Kusto 子查询引用“外部”查询
- bash - UNIX 文件元数据:可移植的可解析解决方案(例如 POSIX / ubiquitous)
- c# - 通过 Lambda 或按属性名称访问 ComObject
- naming-conventions - 是否有命名约定来区分包含普通 Gherkin、空手道 UI 和空手道 API 的 .feature 文件?