I have a cell array a = {'a' , 'b' , 'c' ,'d' , 'e'}
I need to convert a cell array to matix with ','(comma in between)
my answer should be a = a,b,c,d,e
how can i do it?
thanks a lot

1 个评论

While technically
a = 'a,b,c,d,e';
is a matrix. Calling it a char array or a string would make more sense.
It certainly begs the question: do you understand the differences (or lack of) between a matrix of numbers and a matrix of characters?

请先登录,再进行评论。

 采纳的回答

a = {'a' , 'b' , 'c' ,'d' , 'e'};
a = sprintf('%c,',[a{:}]);
a = a(1:end-1);

5 个评论

Andrei, generally correct, but the OP wanted to have a "," in between, so:
a = {'a' , 'b' , 'c' ,'d' , 'e'};
% add a "," after each string:
aCell = strcat(a, ',');
% combine (see above)
aString = [aCell{:}];
% remove the last ",":
aString(end)=[];
Titus
This all seems extremely convoluted. What is wrong with ?
a = {'a', 'b', 'c', 'd', 'e'};
a = strjoin(a, ',') %available since 2013 (a or b?)
how to perform the same operation if given cell array a = {'abc_def' , 'sdfds_sdaf' , 'ddfs_sdfsd'} answer should be
a = abc_def , sdfds_sdaf , ddfs_sdfsd
thanks a lot
See my comment and look at the documentation of strjoin.
@Guillaume: nothing wrong with strjoin except that I did not know it ;-)

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by