how to join 3 strings into single string?

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

 Respuesta aceptada

Stephen23
Stephen23 el 2 de Abr. de 2017
Editada: Stephen23 el 2 de Abr. de 2017
No ugly and inefficient loop is required:
>> C = {'Tcgh','A6','1214'};
>> out = sprintf('-%s',C{:});
>> out(2:end)
ans =
Tcgh-A6-1214

6 comentarios

chocho
chocho el 2 de Abr. de 2017
@Stephen Cobeldick hi bro Stephen I really Appreciate your help
But my inputs are in cell array contain cell array so i got the folowing error :
Error using sprintf
Function is not defined for 'cell' inputs.
could you check the inputs I posted on 'cat.png'
Stephen23
Stephen23 el 2 de Abr. de 2017
@chocho: I am happy to help you but I cannot load data from a screenshot. A screenshot is useless for giving me data. Do you want to me to waste my time by trying to replicate your data arrays? If you actually want help then please upload your data.
chocho
chocho el 2 de Abr. de 2017
@Stephen Cobeldick ok sure
Stephen23
Stephen23 el 2 de Abr. de 2017
Editada: Stephen23 el 2 de Abr. de 2017
>> out = cellfun(@(c)sprintf('%s-%s-%s',c{:}),InterN,'Uni',0)
out =
'TCGA-A6-2677'
'TCGA-AA-3516'
'TCGA-AA-3520'
'TCGA-AA-3521'
'TCGA-AA-3522'
'TCGA-AA-3524'
'TCGA-AA-3525'
'TCGA-AA-3527'
... etc
And look how quickly I could actually help you, once you gave your data. The more you help us, the easier we can help you.
chocho
chocho el 2 de Abr. de 2017
Many Thanks @Stephen Cobeldick but i'm trying to avoid cellfun and prefer to use for loop for future use.
chocho
chocho el 2 de Abr. de 2017
@Stephen Cobeldick yes, you helped me a lot Thank you sooooo much

Iniciar sesión para comentar.

Más respuestas (1)

res = strCell{1};
for k=2:length(strCell),
res=[res '-' strCell{k}];
end;
disp(res);

1 comentario

Stephen23
Stephen23 el 2 de Abr. de 2017
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 2 de Abr. de 2017

Comentada:

el 2 de Abr. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by