How Do I Breakout and Store 2 Time Values In The Same String?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I’ve got a text file that contains hundreds of state times such as these:
State Time: 12:00:00.123 (43200.123)
.
.
State Time: 12:00:01.456 (43200.456)
.
.
State Time: 12:00:02.789 (43200.789)
I’m using the following commands to read the text file and define the pattern required for the REGEXP function:
buffer = fileread(OAMfilename);
exp = 'State Time:\s+([\d\:\.+\s+(\d.+)]+)';
ST = regexp(buffer, exp,'tokens');
This results in the following '<1x2 cell>':
'12:00:00.123 (43200.123)' '12:00:01.000 (43201.456)'
My goal is to have the 24-hour time and UTC times stored in separate cells (with no parentheses) for future processing/plotting purposes. Is this possible using my current approach?
0 comentarios
Respuesta aceptada
Kelly Kearney
el 18 de Jun. de 2013
In order to capture different parts of an expression, put those parts in parentheses (note in the example below the difference between |\(|, which matches a parentheses, and plain |(|, which begins a group and token.
str = {...
'State Time: 12:00:00.123 (43200.123)'
'State Time: 12:00:01.456 (43200.456)'
'State Time: 12:00:02.789 (43200.789)'};
str = sprintf('%s\n', str{:});
tok = regexp(str, 'State Time:\s+(\d+:\d+:[\d\.]+)\s+\(([\d\.]+)\)', 'tokens');
tok = cat(1, tok{:});
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Import and Analysis en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!