find text in text file

3 ビュー (過去 30 日間)
sander de lange
sander de lange 2020 年 10 月 25 日
コメント済み: Peter Perkins 2020 年 11 月 19 日
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 件のコメント
sander de lange
sander de lange 2020 年 10 月 25 日
Hi guys Thanks for the quick reaction. However I think wasn't that clear. But what I want is a code/function that gives me the linenumber of for example 9:48:56. Can you guys help me with that?
Peter Perkins
Peter Perkins 2020 年 11 月 19 日
+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').

サインインしてコメントする。

回答 (2 件)

Stephen23
Stephen23 2020 年 10 月 25 日
>> 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
Walter Roberson 2020 年 10 月 25 日
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.

カテゴリ

Help Center および File ExchangeText Data Preparation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by