答案 0 :(得分:0)
希望这会起作用。
delimiter = ' ';
startRow = 7;
fileID = fopen(filename,'r');
formatSpec = '%f%f%[^\n\r]';
dataArray = textscan(fileID, formatSpec,startRow-startRow+1, 'Delimiter', delimiter, 'HeaderLines' ,startRow-1, 'ReturnOnError', false,'MultipleDelimsAsOne',1, 'EndOfLine', '\r\n');
val1 = dataArray{1,1};
val2 = dataArray{1,2};
答案 1 :(得分:0)
当您要从文本文件中提取特定值时,应始终考虑使用正则表达式。
要获取突出显示的两个值,可以使用:
raw = fileread('M7_soil_FN_1.txt');
val = regexp(raw,'(\d+)\s+(\d+\.\d+)\s+(?=NPTS)','tokens')
正则表达式说:
(\d+)
匹配数字并捕获。\s+
匹配空格。(\d+\.\d+)
匹配并捕获数字,句号和更多数字。\s+
匹配空格。(?=NPTS)
积极前瞻,以确保遵循的是NPTS。然后将val转换为double:
val = str2double(val{:})
>>val(1)
5991
>>val(2)
0.0050
如果您有兴趣,可以在线观看正则表达式here。