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

 採用された回答

dpb
dpb 2021 年 2 月 1 日
編集済み: dpb 2021 年 2 月 1 日

2 投票

>> 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
>>

その他の回答 (1 件)

Jan
Jan 2021 年 2 月 2 日

1 投票

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

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by