0

我有各种名称的文件。我知道他们的结局,例如:....known_file_end.mat。我想检查名称中是否有一些数字,就在 .known_file_end.mat 之前,如果有,请将其删除。我怎样才能以最强大的方式做到这一点?

我还想知道是否有可能,例如我可以检查文件名的开头是否有一个整数,所以在我不知道的区域。

任何帮助表示赞赏,干杯!

4

1 回答 1

1

我建议使用正则表达式来检查文件名中的数字。如果您只处理整数,您可以尝试匹配模式\d+\.known_file_end\.mat,即一个或多个数字后跟字符串.known_file_end.mat

在 Matlab 中,这看起来像

pattern = '\d+\.known_file_end\.mat';
~isempty(regexp('something_10.known_file_end.mat', pattern))  % returns true
~isempty(regexp('something.known_file_end.mat', pattern))  % returns false

通过修改\d+模式中的部分,您还可以检查更复杂的数字,例如对于简单的十进制数字,使用\d+\.\d+,它是一个或多个数字后跟一个句点,然后是一个或多个数字。

于 2012-08-01T17:58:09.553 回答