MATLAB Answers


Renaming str variables based on conditions

Asked by susan
on 30 Mar 2012


I have a list of Str variables (listed in 1158 columns)

{A} ans =

Columns 1 through 10
    'eyeo'    'eyec'    'ESTR'    'TSTR'    'Co20'    'RT  '    'TEND'    'TSTR'    'Co01'    'RT  ' ....

Is there a quick way to 1) Change 'TSTR' to a new str variable that depends on the very next variable eg. Column 4 becomes 'TSTRCo20'. Column 5 remains the same. Column 8 becomes 'TSTRCo01'. 2) Similarly change 'RT' to reflect the variable that preceded it. eg. column 6 becomes 'RTCo20' and column 9 becomes 'RTCo01'.

Thank you!

  1 Comment

Jan Simon
on 31 Mar 2012

Are you talking about strings or variables?
It would be easier to create an answer, if you post a complete example, which can be copied&pasted with input and wanted output. "{A} ans = Columns 1 through 10 'eyeo' ..." is not useful.


No products are associated with this question.

4 Answers

Answer by Jan Simon
on 31 Mar 2012
 Accepted answer
A = {'eyeo', 'eyec', 'ESTR', 'TSTR', 'Co20', 'RT  ', ...
     'TEND', 'TSTR', 'Co01', 'RT  '};
index = find(strcmp(A, 'TSTR'));
A(index) = strcat(A(index), A(index + 1));
index = find(strcmp(A, 'RT  '));
A(index) = strcat(deblank(A(index)), A(index - 1));
>> A = {'eyeo', 'eyec', 'ESTR', 'TSTRCo20', 'Co20', 'RTCo20', 'TEND', 'TSTRCo01', 'Co01', 'RTCo01'}


Answer by Sean de Wolski
on 30 Mar 2012



Answer by susan
on 30 Mar 2012

Sorry, But I think your answer is missing..


Answer by susan
on 30 Mar 2012



Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!