Replace a character in a Table
23 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have a table and I wanted to replace the character E into D, e.g. 5.1155017E-03 -> 5.1155017D-03
How could I do this?
0 comentarios
Respuestas (1)
Walter Roberson
el 5 de Abr. de 2023
Editada: Walter Roberson
el 5 de Abr. de 2023
You can use https://www.mathworks.com/help/matlab/ref/matlab.mixin.customcompactdisplayprovider-class.html to customize the way that a table displays when you disp() or inside the variable browser.
This will not affect how the table is output to a file if you use writetable(), so if your real task is to write the data to file using D format, then the above will not help.
If your actual task is to write to a file, then you are probably better off using compose() of the table variables using %E formats, and then use regexprep() with a pattern of '(?=[\d\.])E' and a replacement of 'D' -- unless, that is, you just happen to have text items that are of the form digit or period followed by E ... if so then the detection pattern would have to be made more careful.
After replacement of the characters, you would then write the characters to file, possibly using writelines()
2 comentarios
Walter Roberson
el 6 de Abr. de 2023
fmt = sprintf('%%.%dE', n_decimal);
formatted = strrep(compose(string(fmt, Table{:,:})), 'E', 'D');
new_Table = array2table(formatted, 'VariableNames', Table.Properties.VariableNames);
Ver también
Categorías
Más información sobre Text Files 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!