さまざまな名前のファイルがあります。私はそれらの終わりを知っています:....known_file_end.mat。名前に.known_file_end.matの直前に番号が含まれているかどうかを確認し、含まれている場合は削除します。どうすれば最も堅牢な方法でそれを行うことができますか?
また、ファイル名の先頭などに整数が入っているかどうかを確認できるのではないかと思いますので、わからないところに。
助けてくれてありがとう、乾杯!
正規表現を使用して、ファイル名の数値を確認することをお勧めします。整数のみを扱う場合は、パターンとの照合を試みることができます。\d+\.known_file_end\.mat
つまり、1つ以上の数字の後に文字列が続きます.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+
で、より複雑な数値をチェックすることもできます。たとえば、単純な10進数の場合\d+\.\d+
は、1桁以上、ピリオド、1桁以上の数字を使用します。