2016-04-06 7 views
0

Ich versuche, alle .tif-Dateien in R zu isolieren, aber der folgende Code gibt auch .tif.enp-Dateien zurück. Wie geht es weiter?Wildcard-Ausdruck, um Dateien zu isolieren, die mit Muster enden

f <- list.files(getwd(), pattern=".*tif") 
+1

Sie müssen Sonderzeichen wie dots, 'pattern =" \\. Tif $ "' umgehen, und Sie können '$' als das Ende der Zeichenfolge verwenden. – Gregor

+0

Ist 'pattern' ein Regex-Muster? – Laurel

+0

@Laurel. Die Hilfedatei besagt, dass das Musterargument "ein optionaler regulärer Ausdruck ist. Nur Dateinamen, die mit dem regulären Ausdruck übereinstimmen, werden zurückgegeben." – lmo

Antwort

1

Beide Lösungen aus @Gregor und gut @rawr Arbeit.

f <- list.files(getwd(), pattern="\\.tif$") 
f <- Sys.glob(file.path(getwd(), '*tif')) 
+0

Die zweite Antwort ist ein wenig gefährlich, da sie Namen von Dateien wie 'pontif.jpeg' entsprechen könnte. – lmo

+0

@lmo nein es nicht – rawr

+0

@rawr. Vielleicht bin ich verwirrt über die Funktion Sys.glob() oder etwas, aber 'grep ('* tif', c (" tiff "," pontif.jpeg "," tif "))' gibt '1 2 3' zurück. – lmo

Verwandte Themen