我在名为Input
的文件中有以下测试输入Exploratory objectives :
This is Exp objective 1
This is Exp objective 2
3.3 Exploratory objective(s)
This is Exp objective 1
This is Exp objective 2
从这个文本文件中,我正在尝试使用下面的“探索性目标”。我期待的输出行号为7。
但是,当我运行以下命令时:我得到的行号是1.有人可以指出我的grep在这里出了什么问题以及它为什么不返回7?我也是如何解决这个问题的?
key_str <-"Exploratory objective(s)"
key_str
key_pat <- paste0("(", key_str, ")", "(?![[:alpha:]])")
line_number<-grep(key_pat,Input,perl=TRUE)
line_number
Expected line_number: 7
Output line_number using above: 1 (Incorrect)
答案 0 :(得分:1)
你必须转义括号:
key_str <- "Exploratory objective\\(s\\)"
如果字符串是动态生成或从文件中读取的,请使用:
key_str <- gsub("([\\(\\)])", "\\\\\\1", string)