>> D
D =
[1x136 char] [] [1x124 char] [1x59 char] [] []
1:如何将里面的空白项删除?也就是元胞数组里就剩3项
2:另外请看下下面程序错在何处
clc;clear;
file=fopen('fas.txt','r');
fname={};fname1={};
while feof(file)==0
str=fgetl(file);
fname1=regexp(str,'>\w+$','match') %将‘<’一起的字符串提取出来
if fname1~=''
fname=[fname; fname1];%记的这个公式可以删除空白项。
fname1={};
end
end
disp(fname);
fclose(file);
上面是个循环取字符串的程序,用到了正则表达式,但是运行不出来~
返回:
fname1 =
'>AB016625'
??? Function 'ne' is not defined for values of class 'cell'.
Error in ==> ne at 18
[varargout{1:nargout}] = builtin('ne', varargin{:});
fname1出来了只有一项。。应该有3项才对的,各位帮帮忙
matlab里如何删除元胞数组里的空白项
- Curio
- 帖子: 279
- 注册时间: 2009-02-23 14:37
- 来自: 北京
Re: matlab里如何删除元胞数组里的空白项
第一个可以这样:D(2)=[];
类似这样就可以
第二个:
我改了一下
clc;clear;
file=fopen('fas.txt','r');
fname={};
while feof(file)==0
str=fgetl(file);
fname1 = regexp(str,'>\w+$','match'); %将‘<’一起的字符串提取出来
if ~isempty(fname1)
fname = [fname; fname1];%记的这个公式可以删除空白项。
end
end
disp(fname);
fclose(file);
输出是:
'>AB016625'
'>AF008216'
我用的你的附件,结果应该是对的
类似这样就可以
第二个:
我改了一下
clc;clear;
file=fopen('fas.txt','r');
fname={};
while feof(file)==0
str=fgetl(file);
fname1 = regexp(str,'>\w+$','match'); %将‘<’一起的字符串提取出来
if ~isempty(fname1)
fname = [fname; fname1];%记的这个公式可以删除空白项。
end
end
disp(fname);
fclose(file);
输出是:
'>AB016625'
'>AF008216'
我用的你的附件,结果应该是对的
大家都是云玩家╮(╯-╰)╭
- Curio
- 帖子: 279
- 注册时间: 2009-02-23 14:37
- 来自: 北京
-
- 帖子: 3
- 注册时间: 2010-02-12 10:33
Re: matlab里如何删除元胞数组里的空白项
楼上大哥,实在是太感谢你了,如果可以加我QQ 好吗?小弟万分感激
小弟QQ 1036300382
小弟QQ 1036300382