ticks - R: compruebe si la primera aparición de string1 va seguida de string2
text size in r (2)
Tengo una cadena R, con el formato
s = `"[some letters and numbers]_[a number]_[more numbers, letters, punctuation, etc, anything]"`
Simplemente quiero una forma de verificar si s
contiene "_2"
en la primera posición. En otras palabras, después del primer símbolo _
, ¿es el número único un "2"? ¿Cómo hago esto en R?
Supongo que necesito una expresión de expresiones regulares complicada?
Ejemplos:
39820432_2_349802j_32hfh = TRUE
43lda821_9_428fj_2f = FALSE
(observe que hay un _2
allí, pero no en el lugar correcto)
Creo que vale la pena responder la pregunta genérica "R: probar si la cadena contiene una cadena" aquí.
Para eso, usa la función 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"
> grepl("^[^_]+_1",s)
[1] FALSE
> grepl("^[^_]+_2",s)
[1] TRUE
básicamente, busca todo al principio excepto _
, y luego el _2
.
+1 a @Ananda_Mahto por sugerir grepl
lugar de grep
.