r - 使用R提取字符串中 "+"和 "*"符号的位置

标签 r regex string symbols

我正在寻找一种方法来提取“*”和“+”符号在 R 字符串中的位置。

test <- "x+y"
unlist(gregexpr("+", test))
[1] 1 2 3
unlist(gregexpr("y", test))
[1] 3

它返回 x 或 y 的位置,但返回 + 或 * 的所有位置。

谢谢!

最佳答案

使用 fixed = TRUE,默认为 FALSE 并使用 + 是元字符的正则表达式模式。根据 ?regex

+ - The preceding item will be matched one or more times.

* - The preceding item will be matched zero or more times.

unlist(gregexpr("+", test, fixed = TRUE))
[1] 2

关于r - 使用R提取字符串中 "+"和 "*"符号的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70500143/

相关文章:

r - 在 R 中使用带有 sp 包的 over() 函数的 N/A 值

r - 向 xts 图中添加点

python - 检查字符串是否与 python 中的模式匹配的最有效方法?

java - 奇怪的是,String.split 的操作与用户输入不同

c - 通过函数传递字符串。 C

python - 使用函数调用打印字符串

r - 从 Perl 中的数组中概率抽样

r - 带有 log1p 转换的annotation_logticks

java - 从java调用Perl,主要是正则表达式匹配

java - 使用正则表达式检查字符串是否以数字字符开头和结尾