Используя list.files (pattern = ???) только для вывода списка файлов с символами от a-z и 0-9, игнорируйте файлы со специальными символами - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь создать список путей, используя list.files(), и я использую следующее:

paths <- list.files(path = params$path[[1]], 
                    pattern = '*', 
                    all.files = TRUE, 
                    full.names = TRUE, 
                    recursive = TRUE, 
                    ignore.case = TRUE)

Однако у меня есть имена файлов со специальными символами (акценты, вопросительные знаки и т. Д.).Это вызывает мою проблему в будущем.Сейчас я хочу игнорировать эти файлы из этого списка.Я пытаюсь сделать это с помощью pattern = param, но безуспешно.

В начале пытался выполнить следующее, но теперь я не могу найти никаких файлов.

paths <- list.files(path = params$path[[1]], 
                           pattern='(a-z)', 
                           all.files=TRUE, 
                           full.names=TRUE, 
                           recursive=TRUE, 
                           ignore.case=TRUE)

Может кто-нибудь предложить регулярное выражение, которое я мог бы добавить в параметр pattern, чтобы найти имена файлов, которые толькосодержит [az] и / или [0-9], но не что-нибудь еще, никаких специальных символов?

1 Ответ

0 голосов
/ 16 апреля 2019

Если вы хотите включить только буквы или цифры, вам также необходимо каким-то образом учитывать расширение.Шаблон в приведенной ниже команде начинается с одной или нескольких букв и / или цифр, а затем заканчивается точкой и 3 или 4 буквами и / или цифрами.

paths <- list.files( path=params$path[[1]], pattern='^[a-z0-9]+?\\.[a-z0-9]{3,4}$', all.files=TRUE, full.names=FALSE, recursive=TRUE, ignore.case=TRUE )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...