R - 测试第一次出现string1后是否为string2

时间:2013-11-19 02:29:43

标签: r contains

我有一个R字符串,格式为

s = `"[some letters and numbers]_[a number]_[more numbers, letters, punctuation, etc, anything]"`

我只是想要一种检查第一个位置s是否包含"_2"的方法。换句话说,在第一个_符号之后,单个数字是“2”吗?我怎么在R?

这样做

我假设我需要一些复杂的正则表达式?

示例:

39820432_2_349802j_32hfh = TRUE

43lda821_9_428fj_2f = FALSE(注意那里有一个_2,但没有在正确的位置)

2 个答案:

答案 0 :(得分:66)

> grepl("^[^_]+_1",s)
[1] FALSE
> grepl("^[^_]+_2",s)
[1] TRUE

基本上,除_之外,首先查找所有内容,然后查找_2

+1 @Ananda_Mahto建议grepl代替grep

答案 1 :(得分:30)

我认为值得回答一般性问题“R - 测试字符串是否包含字符串”。

为此,请使用 grep功能。

# example:
> if(length(grep("ab","aacd"))>0) print("found") else print("Not found")
[1] "Not found"
> if(length(grep("ab","abcd"))>0) print("found") else print("Not found")
[1] "found"