Extract Variable from Filename?

12 vues (au cours des 30 derniers jours)
Kate
Kate le 29 Mai 2013
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!

Réponse acceptée

Matt Kindig
Matt Kindig le 29 Mai 2013
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 commentaire
Kate
Kate le 29 Mai 2013
Great idea, thanks!

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 29 Mai 2013
Modifié(e) : Azzi Abdelmalek le 29 Mai 2013
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 commentaire
Kate
Kate le 29 Mai 2013
I'll try this, thanks!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Predictive Maintenance Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by