Join strings together with '_' between them

6 views (last 30 days)
Hello everybody,
I have a two vectors and I would like to join together with a and b below with some repetition.
The output I want is c1 as below. I made the characters before _ using repmat function.
and made the characters after _ using repelem function.
However, I failed to join them togerther with '_' between them.
Please give me some helps to join them togerther ?
clc; close all; clear;
a = {'A11';'A12';'A21';'A22';'A23';'A24'};
b = {'A300';'A5300';'A291';'A5291'};
c1 = [repmat(a,length(b),1) , '_' , repelem(b,length(a),1)];
% c1 = ['A11_A300';'A12_A300';'A21_A300';'A22_A300';'A23_A300';'A24_A300';...
% 'A11_A5300';'A12_A5300';'A21_A5300';'A22_A5300';'A23_A5300';'A24_A5300';...
% 'A11_A291';'A12_A291';'A21_A291';'A22_A291';'A23_A291';'A24_A291';...
% 'A11_A5291';'A12_A5291';'A21_A5291';'A22_A5291';'A23_A5291';'A24_A5291']

Accepted Answer

KSSV on 20 Sep 2022
a = {'A11';'A12';'A21';'A22';'A23';'A24'};
b = {'A300';'A5300';'A291';'A5291'};
a1 = repmat(a,length(b),1) ;
b1 = repelem(b,length(a),1);
m = repelem('_',length(a1),1) ;
ab = strcat(a1,m,b1)
ab = 24×1 cell array
{'A11_A300' } {'A12_A300' } {'A21_A300' } {'A22_A300' } {'A23_A300' } {'A24_A300' } {'A11_A5300'} {'A12_A5300'} {'A21_A5300'} {'A22_A5300'} {'A23_A5300'} {'A24_A5300'} {'A11_A291' } {'A12_A291' } {'A21_A291' } {'A22_A291' } {'A23_A291' } {'A24_A291' } {'A11_A5291'} {'A12_A5291'} {'A21_A5291'} {'A22_A5291'} {'A23_A5291'} {'A24_A5291'}
  1 Comment
Smithy on 21 Sep 2022
Wow... thank you very mcuh. I really really appreciate with it. It works perfect.

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 20 Sep 2022
Use the string append operator +.
a = {'A11';'A12';'A21';'A22';'A23';'A24'};
b = {'A300';'A5300';'A291';'A5291'};
C1 = a + "_" + b.'
C1 = 6×4 string array
"A11_A300" "A11_A5300" "A11_A291" "A11_A5291" "A12_A300" "A12_A5300" "A12_A291" "A12_A5291" "A21_A300" "A21_A5300" "A21_A291" "A21_A5291" "A22_A300" "A22_A5300" "A22_A291" "A22_A5291" "A23_A300" "A23_A5300" "A23_A291" "A23_A5291" "A24_A300" "A24_A5300" "A24_A291" "A24_A5291"
C2 = a.' + "_" + b
C2 = 4×6 string array
"A11_A300" "A12_A300" "A21_A300" "A22_A300" "A23_A300" "A24_A300" "A11_A5300" "A12_A5300" "A21_A5300" "A22_A5300" "A23_A5300" "A24_A5300" "A11_A291" "A12_A291" "A21_A291" "A22_A291" "A23_A291" "A24_A291" "A11_A5291" "A12_A5291" "A21_A5291" "A22_A5291" "A23_A5291" "A24_A5291"
  1 Comment
Smithy on 21 Sep 2022
Thank you very mcuh. It works really well.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!

Translated by