how to join 3 strings into single string?

4 次查看(过去 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 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by