我试图找到"("括号字符)的字符串位置以便创建一个新变量,但我通常的方法都不起作用。{{1 }和str_locate()
返回有关无效正则表达式语法的错误:grepexpr()
这可能是一个解决方案:invalid regular expression '(', reason 'Missing ')''
,但它不能用于创建新变量。
以下是一些可重现的例子:
which(strsplit(df$var, "")[[1]] == "("
答案 0 :(得分:2)
正如评论中指出的那样,这两种方法都可行
df$newVar <- str_locate(df$txt, "\\(")[, 1]
或者
df$newVar <- sapply(gregexpr("\\(", df$txt), '[', 1)