首页 > 解决方案 > 返回字符串的开头,最多包含两个字符中的任何一个

问题描述

我有一个看起来像这样的字符向量:

a <- c("Bob/7", "What is this?", "Seventeen")

我想提取字符串的开头,包括斜杠 ( /) 或空格 ( )。结果应如下所示:

b
[1] "Bob/"  "What " NA 

不匹配的项目也可以是空字符串或丢弃而不是返回NA

我已经尝试过grep("^.+?[/ ]", a, value = TRUE),但它返回匹配的元素而不是匹配的子字符串。

标签: rregex

解决方案


找到了解决方案:

b <- regmatches(a, regexpr("^.+?[/ ]", a))
b
[1] "Bob/"  "What "

推荐阅读