matlab里怎么读文本中括号里的字符学号 姓名 英语 总分 平均分1234567890 fgtfj

发布时间:2021-02-25 09:37:27

matlab里怎么读文本中括号里的字符学号 姓名 英语 总分 平均分1234567890 fgtfj 78.0( ok) 98.0(great) 99.0(great) 275.0 91.7123143435 czcvcv 54.0( bad) 76.0( ok)) 87.0(nice) 217.0 72.31243546688 safdsf 34.0( bad) 67.0( bad) 87.0(

网友回答

在读取%s的时候,会把)也读进去的
所以不能简单用fscanf的%s读取括号内信息
fid = fopen('student.txt','r');
n = 1;fgets(fid); %读取第一行的文件头,读到的内容我们扔掉不要
while feof(fid) %feof判断文件是否读到文件尾
tline=fgetl(fid);
a=regexp(tline,'[\s()]+','split');
while(~isempty(a)&&isempty(a{1}))a=a(2:end);endif isempty(a)%如果是一个空行,读到的内容是空的continue;
endstu(n).id = str2num(a{1});stu(n).name = a{2};stu(n).math{1} = str2num(a{3});stu(n).math{2} = a{4};stu(n).eng{1} = str2num(a{5}); stu(n).eng{2} = a{6};stu(n).phy{1} = str2num(a{7}); stu(n).phy{2} = a{7};stu(n).sum = str2num(a{9});stu(n).ave = str2num(a{10});n = n+1;
endfclose(fid);
以上问题属网友观点,不代表本站立场,仅供参考!