Renaming str variables based on conditions

1 view (last 30 days)
Hello,
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
Jan 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.

Sign in to comment.

Accepted Answer

Jan
Jan on 31 Mar 2012
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'}

More Answers (3)

Sean de Wolski
Sean de Wolski on 30 Mar 2012

susan
susan on 30 Mar 2012
Sorry, But I think your answer is missing..

susan
susan on 30 Mar 2012
Anyone?

Community Treasure Hunt

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

Start Hunting!