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(ni

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 04:35:23
matlab里怎么读文本中括号里的字符学号姓名英语总分平均分1234567890fgtfj78.0(ok)98.0(great)99.0(great)275.091.7123143435czcvcv5

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(ni
matlab里怎么读文本中括号里的字符
学号 姓名 英语 总分 平均分
1234567890 fgtfj 78.0( ok) 98.0(great) 99.0(great) 275.0 91.7
123143435 czcvcv 54.0( bad) 76.0( ok)) 87.0(nice) 217.0 72.3
1243546688 safdsf 34.0( bad) 67.0( bad) 87.0(nice) 188.0 62.7
用这个程序读上面的文本的时候总是会多出一个括号,这是为什么
##########################################
fid = fopen('student.txt','r');
n = 1;
fgets(fid); %读取第一行的文件头,读到的内容我们扔掉不要
while feof(fid) %feof判断文件是否读到文件尾
tmp = fscanf(fid,'%d',1); %如果是一个空行,读到的内容是空的
if isempty(tmp)
continue;
end
stu(n).id = tmp;
stu(n).name = fscanf(fid,'%s',1);
stu(n).math{1} = fscanf(fid,'%f',1);
fscanf(fid,'%c',1); %读括号
stu(n).math{2} = fscanf(fid,'%s',1);
fscanf(fid,'%c',1);
stu(n).eng{1} = fscanf(fid,'%f',1);
fscanf(fid,'%c',1);
stu(n).eng{2} = fscanf(fid,'%s',1);
fscanf(fid,'%c',1);
stu(n).phy{1} = fscanf(fid,'%f',1);
fscanf(fid,'%c',1);
stu(n).phy{2} = fscanf(fid,'%s',1);
fscanf(fid,'%c',1);
stu(n).sum = fscanf(fid,'%f',1);
stu(n).ave = fscanf(fid,'%f',1);
n = n+1;
end
fclose(fid);
####################################
读出来结果就变成这样了
学号 姓名 英语 总分 平均分
1234567890 fgtfj 78.0( ok)) 98.0(great)) 99.0(great)) 275.0 91.7
123143435 czcvcv 54.0( bad)) 76.0( ok)) 87.0(nice)) 217.0 72.3
1243546688 safdsf 34.0( bad)) 67.0( bad)) 87.0(nice)) 188.0 62.7
各科分数后面多了个),

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(ni
在读取%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);
end
if isempty(a)%如果是一个空行,读到的内容是空的
continue;
end
stu(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;
end
fclose(fid);

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(ni 英语里的连字符怎么用? 易语言里怎么让一个括号中的一个逗号前面的文本加上这个逗号后面的文本?比如:在一个编辑框中输入add(1,1)可以在另一个编辑框中输出1+1的结果 word里,带括号的序号十一怎么打?(十一)这个连成一个字符,在word里怎么打?插入符号里,最大的只有十. 这个键盘符号^发音怎么发?键盘符号(^) 发音怎么发啊?就是括号里的那个字符. MATLAB中simulink里的非线性电阻怎么找啊? 在word里怎么使占一个字符的标点符号变成只占半个字符 在文本文档里怎么改文字的编码? 括号里的字怎么读 matlab将循环产生的数据依次存到一个数组里A=一串字符,利用for循环从A中分别取第1~50,52等等字符,然后把每一次的字符都记录下来,存到workspace里的一个变量里,表格形式,怎么办.主要是将产生的 括号里的怎么填 括号里的怎么写 括号里的怎么写? 2个英文字符是段落缩进的几个字符段落缩进里的字符指的是什么字符,和英文字符的概念一样吗,2个英文字符怎么缩进就是空一格咯 word2007 中如何插入20以后的带小括号数字不要什么项目符号,就插入和特殊符号里一样的那种字符, ppt中如何输入圆周率的符号?在编辑PPT时候,怎么在文本里输入圆周率的符号? matlab 里积分怎么表达 括号里怎么填写?