- are easier to scan when printed in a list.
- are easier to parse (consistent formats are always better).
- sort correctly into numeric order using a standard sort. Here is an example showing that your new format does not sort correctly:
how to change decimal places after point
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tanmoyee Bhattacharya
le 22 Mar 2016
Modifié(e) : Stephen23
le 22 Mar 2016
I have so many text files named
data_70.000_32.125
data_70.124_32.120
data_74.120_32.123
I have to make them
data_70.0_32.125
data_70.124_32.12
data_74.12_32.123
means where three zero after decimal make it one zero and remaining no zero.
1 commentaire
Stephen23
le 22 Mar 2016
Modifié(e) : Stephen23
le 22 Mar 2016
Actually the names with consistent three decimal digits are better, because they:
>> old = {'data_70.000_32.125.csv'; 'data_70.124_32.120.csv'; 'data_70.120_32.123.csv'};
>> sort(old) % correct numeric order
ans =
'data_70.000_32.125.csv'
'data_70.120_32.123.csv'
'data_70.124_32.120.csv'
>> new = {'data_70.0_32.125.csv'; 'data_70.124_32.120.csv'; 'data_70.12_32.123.csv'};
>> sort(new) % your format gives the wrong numeric order.
ans =
'data_70.0_32.125.csv'
'data_70.124_32.120.csv'
'data_70.12_32.123.csv'
Of course you can then use my FEX submission natsortfiles to get them back into the correct order, but why bother when those trailing zeros do the job anyway.
I don't see any good reason to remove those zeros, just disadvantages.
Réponse acceptée
Azzi Abdelmalek
le 22 Mar 2016
v={'data_70.000_32.125';'data_70.124_32.120';'data_74.120_32.123'}
w=cell(size(v))
for k=1:numel(v)
a=regexp(v{k},'_','split')
a2=a{2}
a3=a{3}
b2=str2double(regexp(a2,'\d+','match'));
b3=str2double(regexp(a3,'\d+','match'));
w{k}=sprintf('data_%d.%d_%d.%d',[b2 b3]);
end
celldisp(w)
2 commentaires
Azzi Abdelmalek
le 22 Mar 2016
Modifié(e) : Azzi Abdelmalek
le 22 Mar 2016
You can use the dir command to get all your text files located somewhere
s=dir(fullfile('your_folder','*.txt'))
files={s.name}
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur String Parsing 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!