Borrar filtros
Borrar filtros

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

2 visualizaciones (últimos 30 días)
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.
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

Respuesta aceptada

Stephen23 el 5 de Abr. de 2024
Editada: Stephen23 el 5 de Abr. de 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'}

Más respuestas (0)


Más información sobre Function Creation en Help Center y File Exchange.




Community Treasure Hunt

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

Start Hunting!

Translated by