匹配字符串中的第一个单词

时间:2015-07-28 13:48:28

标签: r

我有以下R程序。

Test<-"CLC2" %in% "CLC2,CLC2,CLC2"
Test
Test1<-"CLC2" %in% "CLC2"
Test1

在第一种情况下,我希望逻辑条件为真,因为它匹配第一个单词(在我的情况下是必需的)。

3 个答案:

答案 0 :(得分:3)

您可以在字符串中找到一个单词,并且(如有必要)检查它是否是字符串的第一个单词

gregexpr(pattern = "CLC2","CLC2,CLC2,CLC2")[[1]][1] == 1

答案 1 :(得分:2)

尝试

"CLC2" %in% c("CLC2", "CLC2", "CLC2")
# [1] TRUE

"CLC2" %in% strsplit("CLC2,CLC2,CLC2", ",")[[1]]
# [1] TRUE

第二个在每个,个字符处拆分你的字符串。

修改

你只想查看第一个值,然后它应该是

"CLC2" %in% strsplit("CLC2,CLC2,CLC2", ",")[[1]][1]
"CLC2" %in% c("CLC2", "CLC2", "CLC2")[1]

正如@PierreLafortune所指出的那样。在这种情况下,您不需要%in%,但也可以使用==,因为您只是将一个值与另一个值进行比较。

答案 2 :(得分:1)

您也可以尝试

 grepl('\\<CLC2\\>', unlist(strsplit("CLC2,CLC2,CLC2", ","))[1])
#[1] TRUE