more efficient way of coding a series of string variables which contain a fix subset of strings

1 view (last 30 days)
Dear all,
I have the following list
l1= 'di _Aust.xlsx' ;
l2='di _Bel.xlsx' ;
l3='di_Est.xlsx';
l4 = 'di_Fr.xlsx';
l5 = 'di_Ge.xlsx' ;
l6 = 'di_Gre.xlsx';
l7 = 'di_Ire.xlsx' ;
l8 = 'di_Ita.xlsx' ;
l9 = 'di_Nethe.xlsx';
l10 ='di_Portu.xlsx' ;
l11 ='di_Slova.xlsx' ;
l12= 'di_Sloven.xlsx';
l13= 'di_Spa.xlsx' ;
As you can see in any case the only part that changes is “di”. I was wondering if there is a more efficient way of writing this number of lists
For instance,
Kk={‘di’ ‘rt’ ‘ew’ }
And if I have, for example kk(2), then to get the output
l1= 'rt _Aust.xlsx' ;
l2='rt _Bel.xlsx' ;
l3='rt_Est.xlsx';
and so forth

Accepted Answer

Thomas
Thomas on 5 Jul 2012
IS this what you need?
kk={'di' 'rt' 'ew' };
name={'Aust' 'Bel' 'Est' 'Fr'};
for ii=1:length(name)
l=strcat(kk(1),'_',name(ii))
% xlswrite(l , data) % here you have your xlswrite
end

More Answers (1)

Mark Whirdy
Mark Whirdy on 5 Jul 2012
Hi Looks like a case for regexp(), but for a more detailed solution I'll need you to reword your question as its difficult to understand exactly what variables you have and the code-behaviour you need.
  2 Comments
antonet
antonet on 5 Jul 2012
Hi. Thanks for your reply
What I have so far
l1= 'di _Aust.xlsx' ;
l2='di _Bel.xlsx' ;
l3='di_Est.xlsx';
l4 = 'di_Fr.xlsx';
xlswrite(l1 , data)
xlswrite(l2 , data)
xlswrite(l3 , data)
xlswrite(l4 , data)
What changes from this algorithm is the letters before the underscore bar inside the string variables l1 l2 l3; that is “di”. Each time I have to replace “di” with something else taken from a long list
list={‘di’, ‘sdrp’,…)
So I have to replace many times the “di” with something else taken from a long list and this process is boring. A more quick approach would cheer me up!

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!