My data is a 272×1 cell array see below
{'Geometry' }
{'X' }
{'Y' }
{'NR' }
{'X1' }
{'Y1' }
{'Easting' }
{'Northing' }
{'Height1' }
{'Def_Rate' }
{'Std_Dev' }
{'Height_unc'}
{'Def_Rate_u'}
{'D_20170729'}
{'D_20170810'}
{'D_20170816'}
{'D_20170822'}
I need the dates 20170729 ,20170810 .... can anyone help ASAP

 Risposta accettata

dpb
dpb il 1 Feb 2021
Modificato: dpb il 1 Feb 2021
>> datetime(extractAfter(c(contains(c,'D_')),'D_'),'InputFormat','yyyyMMdd')
ans =
4×1 datetime array
29-Jul-2017
10-Aug-2017
16-Aug-2017
22-Aug-2017
>>
Actually can simplify just a little to include the leading "D_" string as fixed string in the input format --
>> datetime(c(contains(c,'D_')),'InputFormat','''D_''yyyyMMdd')
ans =
4×1 datetime array
29-Jul-2017
10-Aug-2017
16-Aug-2017
22-Aug-2017
>>

Più risposte (1)

Jan
Jan il 2 Feb 2021
With older Matlab versions:
match = strcnmp(data, 'D_', 2);
result = strrep(data(match), 'D_', '');

Categorie

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by