-1
ディレクトリ内のファイル名の大きなセットから数字と場合によってはいくつかの文字を読み出す必要があります。ファイル名の形式は "aXXXX_bXX_XX_S.ext"です。ここで、「X」は任意の数字で、「s」は任意の文字または文字列です。これらの数字と文字列を別々のセル配列としてどのように抽出すればよいですか?matlabからファイル名の数字を抽出するには?
ありがとうございます!
ディレクトリ内のファイル名の大きなセットから数字と場合によってはいくつかの文字を読み出す必要があります。ファイル名の形式は "aXXXX_bXX_XX_S.ext"です。ここで、「X」は任意の数字で、「s」は任意の文字または文字列です。これらの数字と文字列を別々のセル配列としてどのように抽出すればよいですか?matlabからファイル名の数字を抽出するには?
ありがとうございます!
まず、ディレクトリ内のすべてのファイルを読むことができます。使用、フォルダの場所は、文字列path
に格納されたと仮定すると:
a=dir(mypath);
は今、あなたは構造a
を持っています。ファイル名はa.name
に格納されます。これで作業できます。ここでは非常に大まかなコードです。すべてのファイルをループして、最初の文字がa
であるかどうかを確認します(隠しファイルがあるかもしれませんが、必要はありません)。次に、適切なファイルから必要なデータを抽出します。
n=0;
for i=1:numel(a)
if a(i).name(1)=='a'
n=n+1;
numbers{n}=strcat(a(i).name(2:5),a(i).name(8:9),a(i).name(11:12));
letters{n}=a(i).name(13:find(a(i).name=='.')-1);
end
end
ようこそStackOverflow!すでに試したことを私たちに見せてください。今のところ、['strsplit'](http://www.mathworks.com/help/matlab/ref/strsplit.html)や[' strtok'](http://www.mathworks.com/ help/matlab/ref/strtok.htmlを参照してください)。がんばろう! –
[正規表現]が必要です(http://www.mathworks.com/help/matlab/ref/regexp.html?refresh=true)。ドキュメントをチェックし、[regex101](https://regex101.com/)で正しいパターンを見つけ出すことをお勧めします。 – excaza