Hi,
I have this string. I was hoping to use regexp in order to extract the time and date embedded in this string. I was going to use regexp '.*?<=216', as prior to 216 is all the values I was hoping to extract. I was hoping that there would be an easy way to extract the date and time to a separate cell array. Thanks for any and all help.
"9/12/2022 7:38:51 PM
216 Indicator"

댓글 수: 2

Rik
Rik 2022년 9월 23일
While this could work, is there a reason why you can't match the date itself directly?
Dyel
Dyel 2022년 9월 23일
Is there a way using regexp to extract the datetime value, or something similar from a char array?

댓글을 달려면 로그인하십시오.

 채택된 답변

Stephen23
Stephen23 2022년 9월 23일

1 개 추천

Does the data you want to match always occur at the start of the string?
A = "9/12/2022 7:38:51 PM 216 Indicator";
B = regexp(A,'^\S+\s+\S+\s[AP]M','match','once')
B = "9/12/2022 7:38:51 PM"
T = datetime(B,'inputFormat','d/M/u h:m:s aa')
T = datetime
09-Dec-2022 19:38:51

댓글 수: 1

This did the trick. Thanks Stephen.
How I did it was to split it up using the SplitString fuction, and then convert the string with the date to datetime, in case anyone may find it useful.
for j = 1:length(cf)
loopname = cf(j).name;
filetext = fileread(loopname);
txtStr = convertCharsToStrings(filetext);
indVal{i,j} = cell2mat(regexp(filetext, '(?<=Indicator[^0-9]*)[+-]?[0-9]*\.?[0-9]+', 'match'));
splitStr = regexp(txtStr,'\n','split');
dateStr = splitStr{1};
date = datetime(dateStr);
dateVal{i,j} = date;
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2022년 9월 23일

댓글:

2022년 9월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by