匹配R中字符串的一部分

时间:2014-05-30 14:40:40

标签: string r substring

我坚持使用通常很容易在其他编程语言中使用的东西。

我想测试一个字符串是否在R中的另一个字符串内。例如我试过:

match("Diagnosi Prenatale,Esercizio Fisico", "Diagnosi Prenatale")
pmatch("Diagnosi Prenatale,Esercizio Fisico", "Diagnosi Prenatale")
grep("Diagnosi Prenatale,Esercizio Fisico", "Diagnosi Prenatale")

没有人奏效。为了使它工作,我应该用strsplit分割第一个字符串并提取第一个元素。

注意:我想在字符串向量上执行此操作以接收是/否向量,因此在我写的函数中应该是向量而不是单个字符串。但是当然如果单个字符串不起作用,请对它们的完整向量进行成像...

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

尝试grepl

grepl("Diagnosi Prenatale","Diagnosi Prenatale,Esercizio Fisico" )
[1] TRUE

您也可以使用字符向量执行此操作,例如:

x <- c("Diagnosi Prenatale,Esercizio Fisico", "Diagnosi Prenatale")
grepl("Diagnosi Prenatale",x)
#[1] TRUE TRUE