【发布时间】:2021-12-27 20:31:47
【问题描述】:
我正在寻找一种方法来提取“*”和“+”符号在 R 字符串中的位置。
test <- "x+y"
unlist(gregexpr("+", test))
[1] 1 2 3
unlist(gregexpr("y", test))
[1] 3
它返回 x 或 y 的位置,但返回 + 或 * 的所有位置。
谢谢!
【问题讨论】:
-
因为你是
unlisting你的结果,看起来你每行只有一个表达式,因此使用regexpr而不是gregexpr。对于+符号,您只需将其转义,因为它是一个元字符:regexpr('\\+', test) -
另一种转义方式是
[+],它是regex 中的“字符类”;这对于[*]也是必要的。使用它,您可以使用[+*]查找 either(不区分)。