How can I print the full row where a specific string is found in a text file using MATLAB?
1 次查看(过去 30 天)
显示 更早的评论
Im searching for a string in a text file and printing it out. The output I get is all in one line and I don't know how to separate it so that it is on multiple lines.
My text file contains the following
Number Date Time
08-D-123519 02-Apr-2016 21:58:54
05-WD-3052 02-Apr-2016 22:03:350
08-D-123519 02-Apr-2016 21:58:54
05-WD-3052 02-Apr-2016 22:06:380
05-WD-3052 02-Apr-2016 22:18:560
08-D-123519 02-Apr-2016 21:58:54
05-WD-3052 02-Apr-2016 22:29:100
08-D-123519 02-Apr-2016 21:58:54
and I am and searching for the number and printing it out like so
tScan = textscan(fileID, '%s','Delimiter','');
tScan = tScan{:};
licenseP = ~cellfun(@isempty, strfind(tScan,'05-WD-3052'))
output = [tScan{licenseP}]
What I get
05-WD-3052 02-Apr-2016 22:03:35005-WD-3052 02-Apr-2016 22:06:38005-WD-3052 02-Apr-2016 22:18:56005-WD-3052 02-Apr-2016 22:29:100
What I'm trying to get
05-WD-3052 02-Apr-2016 22:03:350
05-WD-3052 02-Apr-2016 22:06:380
05-WD-3052 02-Apr-2016 22:18:560
05-WD-3052 02-Apr-2016 22:29:100
0 个评论
采纳的回答
更多回答(2 个)
Image Analyst
2016-4-3
How did you open the file? Did you use 'r' or 'rt'? If you used 'r', try 'rt' to read a text file.
Image Analyst
2016-4-3
When you do this:
tScan = tScan{:};
You're taking what was on separate lines ans stringing it all together as one string. So just don't do that and leave it as an array.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!