Extract Variable from Filename?

1 回表示 (過去 30 日間)
Kate
Kate 2013 年 5 月 29 日
Hi there,
I'm trying to write a reuseable function for a multitude of data points. My current filename when I download my data is:
sitename.yr.synth.daily.mat
Is there a straightforward way to extract the site name so that I can assign it to a column in the matrix? The year is already a column.
I will need to do this on hundreds of sites and years, so I don't want to code each site name by hand. I also need this so that I can match the site name with other classifications and generate unique file names.
Thanks a million!

採用された回答

Matt Kindig
Matt Kindig 2013 年 5 月 29 日
You can use strtok() or other methods, but I prefer regexp here:
filename = 'sitename.yr.synth.daily.mat' %example
pieces = regexp(filename, '\.', 'split'); %divide by periods
sitename = pieces{1};
  1 件のコメント
Kate
Kate 2013 年 5 月 29 日
Great idea, thanks!

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

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 5 月 29 日
編集済み: Azzi Abdelmalek 2013 年 5 月 29 日
file='sitename.yr.synth.daily.mat'
idx=strfind(file,'.')
site=file(1:idx(1)-1)
%or
file='sitename.yr.synth.daily.mat'
idx=regexp(file,'\.' ,'split')
site=idx{1}
  1 件のコメント
Kate
Kate 2013 年 5 月 29 日
I'll try this, thanks!

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

カテゴリ

Help Center および File ExchangeLow-Level File I/O についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by