how to remove comma from certain items only from cell array with several items
21 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
azim
el 5 de Abr. de 2017
Comentada: azim
el 5 de Abr. de 2017
hey all, i'am new to matlab and i have a query. i have a single cell array as following:
charstring={'"98,786","103,630","95,758","99,871","106,916",494,361,"92,793","81,741","79,919","79,919",999,989,999'}
this has some items in quotes and others without quotes. what i need to do is remove the ,(comma) character from only those numbers which are between quotes. so my final answer should look like:
charstring={'"98786","103630","95758","99871","106916",494,361,"92793","81741","79919","79919",999,989,999'}
i have tried all combination of strrep replaceBetween regexprep but could not get my head around this question. any help on this matter would be highly appreciated. thanks, azim
0 comentarios
Respuesta aceptada
Stephen23
el 5 de Abr. de 2017
Editada: Stephen23
el 5 de Abr. de 2017
>> str = {'"98,786","103,630","95,758","99,871","106,916",494,361,"92,793","81,741","79,919","79,919",999,989,999'};
>> out = regexprep(str,'("\d+),(\d+")','$1$2')
out =
"98786","103630","95758","99871","106916",494,361,"92793","81741","79919","79919",999,989,999
5 comentarios
Guillaume
el 5 de Abr. de 2017
regular expression is like any other language (programming or otherwise). If you don't know it, it looks and sounds like gibberish. If you do know it, then it's easy to understand. Certainly, Stephen's expression here is very low on the complexity scale of regular expressions. It's only two capture groups each consisting of digits and " and separated by a comma. Yet, it does the job perfectly.
Más respuestas (1)
Jan
el 5 de Abr. de 2017
Editada: Jan
el 5 de Abr. de 2017
C = {['"98,786","103,630","95,758","99,871","106,916",494,361,"92,793",', ...
"81,741","79,919","79,919",999,989,999']}
D = strsplit(C{1}, ',');
quoted = strncmp(D, '"', 1);
D(quoted) = strrep(D(quoted), ',', ''); % [EDITED] Typos
Str = sprintf('%s,', D{:});
CleanC = {Str(1:length(Str)-1)}; % remove trailing comma
0 comentarios
Ver también
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!