我有一个数据框如下所示:
result <- c('Ab1 : 256 ug/mL(R), Ab2(disk); 18mm(S)', 'Ab1 : 4 ug/mL(S), Ab2(disk); <2mm(R)')
df <- data.frame(result)如果我想检查'(R)‘是否出现在'antibiotics1’之后,我应该怎么做?
grep("Ab1[[:print:]]*\\(R\\)", result)给出
[1] 1 2而我想要的结果是
[1] 1发布于 2017-03-07 14:41:50
试试这个:
grep("Ab1[^(]*?\\(R\\)", result)
[1] 1
Ab1 match 'Ab1' literally
[^(]*? match anything besides an opening parenthesis, non greedily
(R) match '(R)' literally在第二种情况下,如果不首先使用至少一个左括号,则不可能进行此匹配,因此只有第一个匹配。
https://stackoverflow.com/questions/42641781
复制相似问题