我有各种名称的文件。我知道他们的结局,例如:....known_file_end.mat。我想检查名称中是否有一些数字,就在 .known_file_end.mat 之前,如果有,请将其删除。我怎样才能以最强大的方式做到这一点?
我还想知道是否有可能,例如我可以检查文件名的开头是否有一个整数,所以在我不知道的区域。
任何帮助表示赞赏,干杯!
我建议使用正则表达式来检查文件名中的数字。如果您只处理整数,您可以尝试匹配模式\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+
,它是一个或多个数字后跟一个句点,然后是一个或多个数字。