r - 返回字符串的开头,最多包含两个字符中的任何一个
问题描述
我有一个看起来像这样的字符向量:
a <- c("Bob/7", "What is this?", "Seventeen")
我想提取字符串的开头,包括斜杠 ( /
) 或空格 ( )。结果应如下所示:
b
[1] "Bob/" "What " NA
不匹配的项目也可以是空字符串或丢弃而不是返回NA
。
我已经尝试过grep("^.+?[/ ]", a, value = TRUE)
,但它返回匹配的元素而不是匹配的子字符串。
解决方案
找到了解决方案:
b <- regmatches(a, regexpr("^.+?[/ ]", a))
b
[1] "Bob/" "What "
推荐阅读
- mongodb - 在 Mongodb 中使用 group by 和 sum 加入两个集合
- r - 用 R 中数据框中的星星替换 p 值
- c# - 是否可以使用 Regex C# 删除部分匹配项?
- javascript - 如何将函数作为字符串传递并将该字符串(函数)链接到对象上?
- c# - 未获取下拉列表数据
- flutter - 如何在颤动中显示抽屉抽屉上方的应用栏?
- git - 是否可以在不更新 git repo 的情况下触发 webhook?
- qt - 一个关于 QTimer::singleShot 的奇怪问题
- java - 更新 firebase 和 Google 服务依赖后无法构建项目
- java - 在 spring mcvc 应用程序中未获取 Log4j2 属性