How can I concatenate a string array of a dimension 1x N into one cell

3 views (last 30 days)
Hello community,
I want to accomplish the following with my code:
  • Originally I don't know the number of names in array A and I have to group them in just one cell concatenating them with the delimiter "/". I tried the for loop with no success and it is not necessary at all. Any hints on how I can accomplish this? I appreciate all the help.
  1 Comment
Stephen23
Stephen23 on 12 Jul 2022
As well as JOIN() as Chunru showed here are a few other approaches:
A = {'ABC','DEF','HIJK'};
B = char(join(A,'/'))
B = 'ABC/DEF/HIJK'
C = sprintf('/%s',A{:});
C = C(2:end)
C = 'ABC/DEF/HIJK'
D = cell2mat(strcat('/',A));
D(1) = []
D = 'ABC/DEF/HIJK'
A(2,1:end-1) = {'/'};
E = [A{:}]
E = 'ABC/DEF/HIJK'

Sign in to comment.

Accepted Answer

Chunru
Chunru on 12 Jul 2022
Edited: Chunru on 12 Jul 2022
% using cell array of char
A = {'ABC', 'DEF', 'HIJK'}
A = 1×3 cell array
{'ABC'} {'DEF'} {'HIJK'}
B = join(A, '/')
B = 1×1 cell array
{'ABC/DEF/HIJK'}
% using string
C = string(A)
C = 1×3 string array
"ABC" "DEF" "HIJK"
C = join(C, '/')
C = "ABC/DEF/HIJK"

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!