How to separate a portion of filename from a file

10 ビュー (過去 30 日間)
S Roy
S Roy 2019 年 9 月 8 日
回答済み: madhan ravi 2019 年 9 月 8 日
How to separate a portion of filename from a file like I have the file 'scrubbed.MOD_D3_AOD_550.20020112.nc' I just want to extract the '20020112' part

採用された回答

Adam Danz
Adam Danz 2019 年 9 月 8 日
編集済み: Adam Danz 2019 年 9 月 8 日
[~, fname] = fileparts('scrubbed.MOD_D3_AOD_550.20020112.nc');
[~,tok] = regexp(fname,'.(\d+)$','match','tokens');
str = tok{1}{1};
  4 件のコメント
S Roy
S Roy 2019 年 9 月 8 日
Thanks It really helped.
Adam Danz
Adam Danz 2019 年 9 月 8 日
編集済み: Adam Danz 2019 年 9 月 8 日
Glad I could help. The other answers here reminded me to make clear the assumption in my answer that the string of interest is always at the end of the filename (ignoring the final file extension) and is preceeded by a decimal point.

サインインしてコメントする。

その他の回答 (3 件)

Stephen23
Stephen23 2019 年 9 月 8 日
Simpler:
>> str = 'scrubbed.MOD_D3_AOD_550.20020112.nc';
>> out = regexp(str,'\d{8}','match','once')
out = 20020112
  2 件のコメント
S Roy
S Roy 2019 年 9 月 8 日
Thanks it works fine
Adam Danz
Adam Danz 2019 年 9 月 8 日
It is simpler and assumes that the string of interest will always have 8 digits and that will be the only sub-string with 8 digits.

サインインしてコメントする。


Image Analyst
Image Analyst 2019 年 9 月 8 日
Try strsplit():
parts = strsplit('scrubbed.MOD_D3_AOD_550.20020112.nc', '.') % Separate in between dots.
yourNumber = parts{end-1} % Take the next to the last one.
  2 件のコメント
Adam Danz
Adam Danz 2019 年 9 月 8 日
編集済み: Adam Danz 2019 年 9 月 8 日
This is also simpler than my answer if the assumptions are true that the string of interest is the 2nd to last segment surrounded by decimal points.
S Roy
S Roy 2019 年 9 月 8 日
Thanks. Now I know many different ways to do it.

サインインしてコメントする。


madhan ravi
madhan ravi 2019 年 9 月 8 日
regexp('scrubbed.MOD_D3_AOD_550.20020112.nc',...
'\d*(?=\.nc)','match','once')

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by