how to join 3 strings into single string?

1 次查看(过去 30 天)
I have a cell array [1*3 cell] Example Tcgh A6 1214 and i want to join them by put '-' in between and get Tcgh-A6-1214
i tried strcat and strjoin but doesn't work with me! Thanks

采纳的回答

Stephen23
Stephen23 2017-4-2
编辑:Stephen23 2017-4-2
No ugly and inefficient loop is required:
>> C = {'Tcgh','A6','1214'};
>> out = sprintf('-%s',C{:});
>> out(2:end)
ans =
Tcgh-A6-1214
  6 个评论
chocho
chocho 2017-4-2
Many Thanks @Stephen Cobeldick but i'm trying to avoid cellfun and prefer to use for loop for future use.
chocho
chocho 2017-4-2
@Stephen Cobeldick yes, you helped me a lot Thank you sooooo much

请先登录,再进行评论。

更多回答(1 个)

Nicolaie Popescu-Bodorin
res = strCell{1};
for k=2:length(strCell),
res=[res '-' strCell{k}];
end;
disp(res);
  1 个评论
Stephen23
Stephen23 2017-4-2
This expands the output res on each iteration, which is not efficient:
See my answer for a simpler and more efficient solution that does not use a loop.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by