How to find and replace the content of an array

1 ビュー (過去 30 日間)
JOAO LIMA
JOAO LIMA 2020 年 4 月 8 日
コメント済み: JOAO LIMA 2020 年 4 月 9 日
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!

採用された回答

Mohammad Sami
Mohammad Sami 2020 年 4 月 8 日
編集済み: Mohammad Sami 2020 年 4 月 8 日
% 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);
  1 件のコメント
JOAO LIMA
JOAO LIMA 2020 年 4 月 9 日
Mohammad Sami , I implemented all the suggestions. ! You guys are great!

サインインしてコメントする。

その他の回答 (2 件)

Bhaskar R
Bhaskar R 2020 年 4 月 8 日
out = cellfun(@(x)datetime(x, 'Format','dd/MM/yyyy HH:mm:ss'), input_cell)
  1 件のコメント
JOAO LIMA
JOAO LIMA 2020 年 4 月 9 日
Bhaskar R , it worked fine!! Thanks a lot!

サインインしてコメントする。


Stephen23
Stephen23 2020 年 4 月 8 日
>> 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

カテゴリ

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by