2015-05-04 4 views
2

Если у меня есть файлы с несколькими именами, и я хочу выбрать только несколько из них, как я могу это сделать в MATLAB. . У меня есть следующие имена файлов в директорииMATLAB: Поиск файлов в каталоге с определенными именами?

1adl.txt, 2adl.txt ...

1adlKey.txt, 2adlKey.txt ...

где * adl.txt являются файлы, содержащие данные и * Key.txt являются файлами, содержащие «ключи», чтобы извлечь полезную информацию из * .txt

проблемы заключается в том, когда я использую

files = dir(fullfile(newdir,'*.txt')); 

это дает мне все .txt файлы, в то время как I хотите читать * .txt и * Key.txt отдельно, поэтому я могу выполнять взаимно-однозначное соответствие между ними. Можно ли использовать регулярное выражение здесь? Если да, то как?

Любая помощь будет оценена по достоинству.

+0

ли кто-нибудь из ответов работать для вас? – brodoll

+0

keyfiles вышел отлично, но для nokeyfiles мне пришлось немного манипулировать, однако ваш ответ был частично правильным. – Shehroz

+0

Интересно, я не обнаружил проблем при тестировании. Не могли бы вы поделиться своим обходом? Спасибо за ответ – brodoll

ответ

0

См. Следующую строку кода.

files = dir(fullfile(newdir,'*adl*.txt')); 

Pls посетить Matlab документацию для получения дополнительной информации о dir команды.

2

Я хотел бы сделать следующее, чтобы прочитать их по отдельности:

nokeyfiles = dir(fullfile(newdir,'?a?[^Key].txt')); 
keyfiles = dir(fullfile(newdir,'*Key.txt')); 
Смежные вопросы