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

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

 채택된 답변

Stephen23
Stephen23 2024년 4월 5일
편집: Stephen23 2024년 4월 5일
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'}

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 File Operations에 대해 자세히 알아보기

제품

릴리스

R2023b

질문:

2024년 4월 5일

댓글:

2024년 4월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by