how to extract specific numbers from string?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi all- I have to access the file name (MERRA2_100.tavg1_2d_slv_Nx.19800101.nc4.nc4) to be able to read the data.
Accordingly, I've created the following code to do that. But the problem is the determination of the substring location (in bold) as it should be varied due to the multiple numbers of files I have. So what I need is to determine the location of the day and month in 19800101.
any help would be appreciated.
for i=1:length(all_files)
fname=all_files(i).name;
tmp = split(fname,'.');
mdate = tmp(3);
mdate = str2double(mdate);
year = round(mdate/10000);
month = round((mdate - (year*10000)));
mm = round(month/100);
dd = round(month - mm*100);
if (dd == iday) && (mm == imon);
filelist(j) = strcat(all_files(i).folder,'/' ,fname);
j = j + 1;
end
end
0 Commenti
Risposta accettata
Luna
il 12 Mar 2020
Hello Lola,
You can convert to datetime object and use the properties like below:
mdate = '19800101';
tmp_date = datetime(mdate,'Format','uuuuMMdd');
Day = tmp_date.Day;
Month = tmp_date.Month;
Year = tmp_date.Year;
I recommend not to use year, month, day as variables they are already built-in functions in Matlab.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!