【问题标题】:stringr equivalent to grepstringr 等价于 grep
【发布时间】:2016-10-26 01:11:03
【问题描述】:

是否有一个 stringr 等效于 base R 的 grep 函数?

我想要匹配的字符串的索引。示例:

grep("F|Y", LETTERS)
[1]  6 25

使用 stringr 我的解决方法是使用which,如下所示:

which(str_detect(LETTERS, "F|Y"))
[1]  6 25

【问题讨论】:

  • 我不使用stringr,但是看看str_locate是不是你需要的。
  • str_locate 返回开始/结束列的矩阵。我认为 OP 正在寻找索引而不使用 which
  • @akrun 是的。这就是我要找的
  • stringr 的手册页非常清晰明确,毫无疑问,没有任何函数只返回索引。所以(正如我们 DataMungerGuru Accolytes 经常问的那样),为什么你想这样做?您要解决的问题是什么?
  • @CarlWitthoft 我正在将我的代码从基础 R 移植到 stringr。因为这是我第一次使用 stringr 我不想从使用错误的函数开始。这就是为什么我在这里问...

标签: r stringr


【解决方案1】:

很抱歉回答迟了,但它可能对未来的访客有帮助:

现在您可以使用str_which(string, pattern),它是which(str_detect(string, pattern)) 的包装器,等效于grep(pattern, string)

str_which(LETTERS, "F|Y")
[1]  6 25

更多详情请访问:http://stringr.tidyverse.org/reference/str_subset.html

【讨论】:

    【解决方案2】:

    由于 stringr 的手册页非常清晰明确,毫无疑问,没有一个函数只返回索引。

    【讨论】:

    • 如果这样做会很有用。
    • @RobinLovelace 可以向维护者发送一封请求此功能的电子邮件:-)
    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 2014-04-14
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2013-02-18
    • 2022-01-12
    • 2013-08-08
    相关资源
    最近更新 更多