Подтвердить что ты не робот

R - тест, если за первым вводом строки1 следует строка2

У меня есть строка R, с форматом

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

Я просто хочу, чтобы проверить, содержит ли s "_2" в первой позиции. Другими словами, после первого символа _, это единственное число a "2"? Как это сделать в R?

Я предполагаю, что мне нужно какое-то сложное выражение регулярных выражений?

Примеры:

39820432_2_349802j_32hfh = TRUE

43lda821_9_428fj_2f = FALSE (обратите внимание, что там есть _2, но не в нужном месте)

4b9b3361

Ответ 1

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

в принципе, ищите все в начале, кроме _, а затем _2.

+1 к @Ananda_Mahto для предложения grepl вместо grep.

Ответ 2

Я думаю, что стоит ответить на общий вопрос "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"