Effacer les filtres
Effacer les filtres

Modifying cell arrays (mixed - string & numeric)

1 vue (au cours des 30 derniers jours)
susan
susan le 22 Oct 2012
I have a cell array 1159x2.. Column 1 is numeric. Column 2 is string..
[645836] 'TSTRCo23_b3_c' [646153] 'Co23_b3_c' [646449] 'RTCo23_b3_c' [646655] 'TEND_b3_c' [646157] 'Co01_b2_ic' [646678] 'Co06_b3_c' ....
I need to modify this to
[646153] 'C23c' [646157] 'C01i' [646678] 'C06c' ....
i.e. Only keep rows where the string starts with Co. BUT, replace the string 1) with C, 2) then the numeric value that follows Co, 3) then either c or i depending on whether the original string was appended with c or ic.
Thank you..
S

Réponses (1)

Matt J
Matt J le 22 Oct 2012
Modifié(e) : Matt J le 22 Oct 2012
Well, the first step would be to get rid of the unwanted rows. That you can do easily enough by
keeprows=~cellfun('isempty', strfind(cellarray(:,2),'Co') );
cellarray=cellarray(keeprows,:);
Then you just have to go through what's left and modify the strings. Should be easy enough using REGEXPREP and/or STRREP

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by