2010-12-26 5 views
5

Tengo una cadena en R, p. Ej. x < - "c: \ tmp \ rest.zip". ¿Cómo puedo detectar que tiene secuencias de escape en él, vis. \ t y \ r? Los chicos de DOS/Windows tenemos el hábito de usar barras diagonales inversas que a R no le gustan y estoy escribiendo una función en la que me gustaría poder proteger al usuario de ellos mismos.En R, ¿cómo puedes saber si una cuerda incluye secuencias de escape?

Gracias.

Respuesta

11

duplicación del back-barras en el patrón grep es el camino hacia el éxito:

xtxt <- c("test\n", "of\t", "escapes") 
grep("\\n|\\t", xtxt) 
# [1] 1 2 

Otra manera de ser para buscar caracteres de control:

grep("[[:cntrl:]]", xtxt) 
#[1] 1 2 
+0

duplicación funcionaba bien con la lógica o pero solo buscar uno de ellos requería una sola barra invertida. Y eso también funciona con el o. ¿Cómo descubrió esa sintaxis cntrl? – John

+3

La página de ayuda que tiene clases predefinidas como [: cntrl:] es? Regex –

Cuestiones relacionadas