How to find and replace the content of an array

1 visualización (últimos 30 días)
JOAO LIMA
JOAO LIMA el 8 de Abr. de 2020
Comentada: JOAO LIMA el 9 de Abr. de 2020
Hi guys. Sorry to bother you again, but I am new at Matlab.
I have this timestamp array:
'03/07/2019'
'03/07/2019 00:30:00'
'03/07/2019 01:00:00'
'03/07/2019 01:30:00'
'03/07/2019 02:00:00'
'03/07/2019 02:30:00'
And it goes for 10 days (480 values). The first cell of each day is like '03/07/2019', time is missing. I need to find this kind of cell
and add '00:00:00' to the cell content. So, the first cell should be '03/07/2019 00:00;00' instead of '03/07/2019'.
I applied the function cellfun. The length of the desirable cells is 10. I know I have to find the content of these cells and replace it,
but I am writing a loop. I wonder if there is an easier way to do that.
Thank you for your support!

Respuesta aceptada

Mohammad Sami
Mohammad Sami el 8 de Abr. de 2020
Editada: Mohammad Sami el 8 de Abr. de 2020
% sometimestamp = {'03/07/2019' '03/07/2019 00:30:00'};
l = cellfun(@length,sometimestamp);
% or
% l = strlength(sometimestamp);
sometimestamp(l==10) = cellfun(@(x)[x ' 00:00:00'],sometimestamp(l==10),'UniformOutput',false);

Más respuestas (2)

Bhaskar R
Bhaskar R el 8 de Abr. de 2020
out = cellfun(@(x)datetime(x, 'Format','dd/MM/yyyy HH:mm:ss'), input_cell)

Stephen23
Stephen23 el 8 de Abr. de 2020
>> C = {'03/07/2019' '03/07/2019 00:30:00'};
>> X = cellfun('length',C)==10;
>> C(X) = strcat(C(X),' 00:00:00')
C =
03/07/2019 00:00:00
03/07/2019 00:30:00

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by