find text in text file
Mostrar comentarios más antiguos
I want to find a specific text line in my text file, how do i code this? In this code I want to fill in time and then get the number of colum two, is there anybody who can help?
09:48:40 0 1
09:48:42 0 1
09:48:44 0 1
09:48:46 0 1
09:48:48 0 1
09:48:50 0 1
09:48:52 0 1
09:48:54 0 1
09:48:56 1788 1
09:48:58 0 1
09:49:00 0 1
09:49:02 0 1
4 comentarios
Mario Malic
el 25 de Oct. de 2020
https://uk.mathworks.com/help/matlab/import_export/recommended-methods-for-importing-data.html Please read here on how to import the data.
Walter Roberson
el 25 de Oct. de 2020
If you use a timetable object then you can index directly by the time.
sander de lange
el 25 de Oct. de 2020
Peter Perkins
el 19 de Nov. de 2020
+1 to Walter's suggestion. Make a timetable with duration row times, then just use 9:48:56 as a row subscript, perhaps as tt('9:48:56',:) or perhaps as tt.Var1('9:48:56').
Respuestas (2)
Stephen23
el 25 de Oct. de 2020
>> T = readtable('temp0.txt','Delimiter','\t','ReadVariableNames',false)
T =
Var1 Var2 Var3
__________ ____ ____
'09:48:40' 0 1
'09:48:42' 0 1
'09:48:44' 0 1
'09:48:46' 0 1
'09:48:48' 0 1
'09:48:50' 0 1
'09:48:52' 0 1
'09:48:54' 0 1
'09:48:56' 1788 1
'09:48:58' 0 1
'09:49:00' 0 1
'09:49:02' 0 1
>> X = strcmp(T.Var1,'09:48:56');
>> Y = T.Var2(X)
Y =
1788
Walter Roberson
el 25 de Oct. de 2020
0 votos
fileread and regexp() 'split' using pattern '\r?\n' on that to get lines. Now regexp() that cell array of character vectors giving the target time as the pattern and 'once' option. cellfun @isempty and ~ the resulting vector and find() to get the line number.
This for the new requirement that the desired output is the line number. The code for the original task of extracting the second column would have been notably simpler.
Categorías
Más información sobre Text Data Preparation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!