dir 和 filesep matlab

dir and filesep matlab

我试图找到一个 jpg 文件列表,但也在一行中使用 filesep(打破文件名)

dir([folder,[filesep '*.' 'jpg']]). 

以上命令对我有用。 但我也想找到名称中包含特定单词的文件,例如 'blue' 但是当我尝试使用

dir([folder,[filesep '*.' '*blue*jpg']]) 

它没有用,程序根本找不到任何文件。有没有办法在一行中做到这一点? 谢谢。

您想使用 dir([folder,[filesep '*blue*.jpg']]),或者更简单地说 dir([folder filesep '*blue*.jpg'])


需要说明的是,* 字符充当 "wildcard"。它可以表示任何类型的零个或多个字符。

*.jpg 查找所有 .jpg 文件,因为 * 允许扩展名之前的文件名是任何内容。

red*.jpg 查找所有以 red 开头的 .jpg 文件,例如 redhouse.jpgredflower.jpg.

*green.jpg 查找所有以 green 结尾的 .jpg 文件,例如 grassgreen.jpgdarkgreen.jpg

*blue*.jpg 查找所有包含单词 blue 的 .jpg 文件,例如 skyblue.jpgbluecar.jpgmybluebox.jpg.

您现在使用的 dir([folder,[filesep '*.' '*blue*jpg']]) 会找到像 something.BLAHblueBLEHjpg.

这样的文件

你为什么不使用 fullfile?此命令将以更好的方式为您处理 filesep

dir( fullfile( folder, '*blue*.jpg' ) );