Renaming str variables based on conditions

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 commentaire

Jan
Jan le 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.

Connectez-vous pour commenter.

 Réponse acceptée

Jan
Jan le 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'}

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by