如何进行不区分大小写的搜索?

时间:2017-06-02 15:45:13

标签: r

我使用grep进行不区分大小写的搜索,但问题是我得到的所有值都包含模式,而不仅仅是完全匹配,但是如果我使用fixed=TRUE使{无效} {1}}参数。

ignore.case=TRUE

修改

g = c("PLD3","PLD2","PLD2ABC","DTPLD2a") r = "pLd2" grep(r,g,ignore.case=TRUE,value=TRUE) >[1] "PLD2" "PLD2ABC" "DTPLD2a" grep(r,g,ignore.case=TRUE,value=TRUE,fixed=TRUE) >character(0) 是用户输入,所以基本上它可以是来自30,000个基因的列表中的任何内容,并且它可以是小写的,全部是大写的,或者两者的混合。 在我的列表r中,元素可以是大写,小写或混合(它是大约15,000个基因的列表)

1 个答案:

答案 0 :(得分:2)

尝试

g = c("PLD3","PLD2","PLD2ABC","DTPLD2a")
r <- 'pLd2'
r2 <- paste('^', r, '$', sep = '')
grep(r2 , g ,ignore.case = T, value=TRUE)

[1] "PLD2"

基本上元字符^$迫使grep在开始和结束时修复正则表达式。