字符串中的字符位置索引 - str_locate()和gregexpr()不起作用

时间:2014-07-29 21:24:29

标签: regex r string

我试图找到"("括号字符)的字符串位置以便创建一个新变量,但我通常的方法都不起作用。{{1 }和str_locate()返回有关无效正则表达式语法的错误:grepexpr()

这可能是一个解决方案:invalid regular expression '(', reason 'Missing ')'',但它不能用于创建新变量。

以下是一些可重现的例子:

which(strsplit(df$var, "")[[1]] == "("

1 个答案:

答案 0 :(得分:2)

正如评论中指出的那样,这两种方法都可行

df$newVar <- str_locate(df$txt, "\\(")[, 1]

或者

df$newVar <- sapply(gregexpr("\\(", df$txt), '[', 1)