2012-01-26 15 views
13

No encuentro ningún ejemplo sobre cómo usar el parámetro pattern= en list.files para operaciones más complejas.Cómo hacer expresiones regulares complejas en list.files en R

me gustaría obtener todos los archivos que incluyen ya sea 'XM' o 'EM' y son del tipo .cvs

por favor alguien puede ayudar.

yo estaba tratando algo así como

list.files(path='.', pattern="[XM | EM] & csv")

pero es definitivamente mal

Respuesta

13

probar esto:

list.files(path='.', pattern="(XM|EM).*\\.csv$") 
+0

Gracias, pero esa línea no funciona. Lo que funcionó para mí es esta línea: 'list.files (path = '.', Pattern =" (XM | EM). * \\. Csv $ ")' Hubo algún problema con el escape del _dot_ con solo uno '\ ' – pedrosaurio

+2

Si Tom edita su respuesta correctamente con el doble escape, debe aceptarlo como una respuesta. Si desea utilizar la sintaxis regex compatible con perl, puede usar dir() [grepl ("patrón", dir(), perl = TRUE)] o seguir con list.files en lugar de dir pero usar de la misma manera. – Hansi

+1

Ah, he actualizado la respuesta gracias. – Tom

Cuestiones relacionadas