How to replace exact char in a cell array from another reference cell array

1 visualizzazione (ultimi 30 giorni)
Hello,
Given the example below
A = {'x1', 'x10', 'x1:x10'};
B = {'x1','x10'};
C = {'Pierre', 'Paul'};
I would like to replace in A the exact string from B by its respective value from C. I would like to obtain:
A={'Pierre', 'Paul', 'Pierre:Paul'}
I would like to minimize the number of loops necessary.
A=replace(A,B,C);
This doest not work and produce: {'Pierre'} {'Pierre0'} {'Pierre:Pierre0'}
I tried few regexprep and strrep without success. What is the proper way? Thank you

Risposta accettata

Stephen23
Stephen23 il 5 Apr 2024
Modificato: Stephen23 il 5 Apr 2024
This is difficult because 'x1' is also a substring of 'x10'. But making a few assumptions it might be possible:
A = {'x1', 'x10', 'x1:x10'};
B = {'x1','x10'};
C = {'Pierre', 'Paul'};
R = strcat(B,'\>');
D = regexprep(A,R,C)
D = 1x3 cell array
{'Pierre'} {'Paul'} {'Pierre:Paul'}

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by