Azzera filtri
Azzera filtri

how read a date-time from HDF5 file

4 visualizzazioni (ultimi 30 giorni)
pruth
pruth il 29 Ott 2015
Modificato: per isakson il 4 Nov 2015
hi i have HDF5 files there names are like
GOME_O3-NO2-NO2Tropo-BrO-SO2-H2O-HCHO_L2_20070123202633_051_METOPA_01366_DLR_03.HDF5
i want read this string and want only date (2007-01-23-20:26:33)
how get only date and time excluding other character.????

Risposta accettata

per isakson
per isakson il 3 Nov 2015
Modificato: per isakson il 4 Nov 2015
How to extract date and time from a string? (In this case the string happens to be the name of a HDF5-file.)
First something simple
str = 'GOME_O3-NO2-NO2Tropo-BrO-SO2-H2O-HCHO_L2_20070123202633_051_METOPA_01366_DLR_03.HDF5';
dti = regexp( str, '\d{14}', 'match', 'once' );
datestr( datenum( dti, 'yyyymmddHHMMSS' ), 'yyyy-mm-dd HH:MM:SS' )
ans =
2007-01-23 20:26:33
This code assumes that the first appearance of fourteen consecutive digits represents date and time. However, is that guaranteed? If not, is there some other characteristics of the string that can be used? Furthermore, is it guaranteed that the string of digits honors the pattern, 'yyyymmddHHMMSS'?
It's possible to create a regular expression, which take advantage of the fact that not all digits can appear in all positions, e.g minutes and second are constrained by the interval [00,59].
&nbsp
A bit more selective: &nbsp Assume that it's guaranteed that
  • the first appearance of exactly fourteen consecutive digits surrounded by underscore, "_", represents date and time.
  • the string of digits honors the pattern, 'yyyymmddHHMMSS'
If so replace the expression, '\d{14}', by '(?<=_)\d{14}(?=_)'

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by