Borrar filtros
Borrar filtros

Modifying cell arrays (mixed - string & numeric)

1 visualización (últimos 30 días)
susan
susan el 22 de Oct. de 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

Respuestas (1)

Matt J
Matt J el 22 de Oct. de 2012
Editada: Matt J el 22 de Oct. de 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

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by