我试图在某些文本中寻找基因符号,为此我试图建立一个匹配基因符号的模式(它们一起使用三个或更多个大写字母)。我尝试了这个,但它没有用。
TW2 <- text_words [grep ("b\[[:upper:]]b\", text_words) ]
答案 0 :(得分:2)
您可以使用
add_test
模式匹配:
add_test
- 字边界text_words <- "GHJ GJKGKJ HHKKK J777 JJ8JJJJ"
TW2 <- unlist(regmatches(text_words, gregexpr("\\b[[:upper:]]{3,}\\b", text_words)))
TW2
## => [1] "GHJ" "GJKGKJ" "HHKKK"
- 3个或更多大写字母\\b
- 一个单词边界。如果您有一个带有字符串的向量,您需要完全针对该模式进行测试,请使用
[[:upper:]]{3,}
这里,单词边界被替换为锚点,\\b
替换为字符串的开头,text_words <- c("GHJ","GJKGKJ","HHKKK","J777","JJ8JJJJ")
TW2 <- grep("^[[:upper:]]{3,}$", text_words, value=TRUE)
TW2
## => [1] "GHJ" "GJKGKJ" "HHKKK"
替换为字符串的结尾。请参阅R demo online。