I am using list.files() to list the files in a directory. However, many of the files contain similar strings, but are in a different group.
write.csv(mtcars, "test1.csv")
write.csv(mtcars, "test2.csv")
write.csv(mtcars, "another_test1.csv")
write.csv(mtcars, "another_test2.csv")
### list files
pattern_text <- c("test")
list.files(pattern = pattern_text)
[1] "another_test1.csv" "another_test2.csv"
[3] "test1.csv" "test2.csv"
But I'd like it to grab the files whose names START with "test" not just simply contain "test" in the name. If I use the code as it is, I get all the file names with "test" in it.
I want to end up with only test1.csv and test2.csv
if you want only the files that start with "test", you can use regular expressions (regex) inside of the
pattern=argument oflist_files(). If you want to learn more about regex, you can call?regexin the R console. In this case, adding the metacharacter^(a caret) to your code gets the desired result.In this case, the
^symbol is a meta-character that matches the empty string at the beginning of a line. That way, only file names that have nothing before "test" will show up (e.g., "testing" would show up but "attest" would not).