How Do I Breakout and Store 2 Time Values In The Same String?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Kelly Kearney
2013년 6월 18일
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{:});
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Import and Analysis에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!