我有一个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
,但没有在正确的位置)
答案 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"