获得正则表达匹配位置?

时间:2012-09-03 07:52:45

标签: regex r

这是一个字符串:

str1="ha,hihi,aaaaa,ok"

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

1 个答案:

答案 0 :(得分:5)

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

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

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

as.integer将删除其他属性,例如匹配文本的长度。在许多情况下,您将能够省略这一点,因为其他代码可能会忽略这些属性。但是,为了输出到控制台,它可能不那么令人困惑,所以我把它包括在我的答案中。

相关问题