Hello,
I'm stuck with one problem for a few hours right now. I want to add commas after my cell array string. Right now it looks like:
a = {'a1','a2','a3','a4','a5','a6'}; a(:)'
ans =
'a1' 'a2' 'a3' 'a4' 'a5' 'a6'
But I need it to be like this:
'a1' , 'a2' , 'a3' , 'a4' , 'a5' , 'a6'
(No comma after last one). I tried a lot of ways, but it seems that I can't create my strings in cell array in form of 'a1', initially. strjoin and strcat doesn't seem to solve this problem as well. I'm kinda lost.

 Akzeptierte Antwort

Star Strider
Star Strider am 25 Nov. 2015

0 Stimmen

A cell array is by definition a Comma-Separated List. If you want it to appear in your Command Window as one with distinct commas, this works:
a = {'a1','a2','a3','a4','a5','a6'};
fprintf(1, 'a = ')
for k1 = 1:length(a)-1
fprintf(1, '%s , ', char(a(k1)'))
end
fprintf(1, '%s\n', char(a(end)))
a = a1 , a2 , a3 , a4 , a5 , a6

5 Kommentare

Martynas Subonis
Martynas Subonis am 25 Nov. 2015
Thanks, but the problem with your answer is that it appears without uppercase quotes:
a = a1 , a2 , a3 , a4 , a5 , a6
While I need them exactly as:
'a1' , 'a2' , 'a3' , 'a4' , 'a5' , 'a6'
Kirby Fears
Kirby Fears am 25 Nov. 2015
Bearbeitet: Kirby Fears am 25 Nov. 2015
You can do this without using char().
a = {'a1','a2','a3','a4','a5','a6'};
fprintf(1, 'a = ')
for k1 = 1:length(a)-1
fprintf(1, '%s , ', a{k1})
end
fprintf(1, '%s\n', a{end})
Incorporating Kirby’s Comment (thank you!) this will give you the quotes as well:
a = {'a1','a2','a3','a4','a5','a6'};
fprintf(1, 'a = ')
for k1 = 1:length(a)-1
fprintf(1, '''%s'' , ', a{k1})
end
fprintf(1, '''%s''\n', a{end})
a = 'a1' , 'a2' , 'a3' , 'a4' , 'a5' , 'a6'
Martynas Subonis
Martynas Subonis am 25 Nov. 2015
Thanks!
Star Strider
Star Strider am 25 Nov. 2015
My (and Kirby’s) pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by