【问题标题】:Get regular expression matched positon?获取正则表达式匹配位置?
【发布时间】:2012-09-03 07:52:45
【问题描述】:

这是一个字符串:

str1="ha,hihi,aaaaa,ok"

我想得到","str1中的位置,可以算3,8,14
我怎样才能在 R 中得到它?

【问题讨论】:

    标签: regex r


    【解决方案1】:

    您可以使用以下表达式获得所需的向量:

    as.integer(gregexpr(",", str1)[[1]])
    

    [[1]] 将选择结果列表的第一个元素。如果 str1 是一个长度不是 1 的向量,那么 gregexpr 将生成一个包含那么多项目的列表,每个项目对应 str1 的每个元素。

    as.integer 将去除附加属性,例如匹配文本的长度。在许多情况下,您可以忽略这一点,因为其他代码可能会简单地忽略这些属性。不过,对于控制台的输出,它可能不会那么令人困惑,所以我将它包含在我的答案中。

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 1970-01-01
      • 2017-01-03
      • 2013-06-12
      • 2014-11-11
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多