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 件のコメント

Guillaume
Guillaume 2015 年 6 月 16 日
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?

サインインしてコメントする。

 採用された回答

Andrei Bobrov
Andrei Bobrov 2015 年 6 月 16 日
編集済み: Andrei Bobrov 2015 年 6 月 16 日

1 投票

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

5 件のコメント

Titus Edelhofer
Titus Edelhofer 2015 年 6 月 16 日
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
Guillaume
Guillaume 2015 年 6 月 16 日
編集済み: Guillaume 2015 年 6 月 16 日
This all seems extremely convoluted. What is wrong with ?
a = {'a', 'b', 'c', 'd', 'e'};
a = strjoin(a, ',') %available since 2013 (a or b?)
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2015 年 6 月 16 日
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
Guillaume
Guillaume 2015 年 6 月 16 日
See my comment and look at the documentation of strjoin.
Titus Edelhofer
Titus Edelhofer 2015 年 6 月 17 日
@Guillaume: nothing wrong with strjoin except that I did not know it ;-)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by