matlab里如何删除元胞数组里的空白项

举例如下;>>DD=[1x136char][][1x124char][1x59char][][]1:如何将里面的空白项删除?也就是元胞数组里就剩3项2:另外请看下下面程序... 举例如下;
>> D
D =
[1x136 char] [] [1x124 char] [1x59 char] [] []
1:如何将里面的空白项删除?也就是元胞数组里就剩3项
2:另外请看下下面程序错在何处
clc;clear;
y=textread('fas.txt','%c');y=y';
fname1=regexp(y,'>\w+\b','match')
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项才对的,各位帮帮忙
回答出第2问,小弟再追加100分,分数事小,知识重要~~先谢谢了
y=textread('fas.txt','%c');y=y';
fname1=regexp(y,'>\w+\b','match')
用file=fopen('fas.txt','r');替换!!!
展开
 我来答
rfvgy10000
2010-02-12 · TA获得超过316个赞
知道大有可为答主
回答量:102
采纳率:0%
帮助的人:148万
展开全部
删除单元数组的一整项,要用圆括号。
可以用:
>>D(2)=[];D(5:6)=[]
或者:
>>D=D([1,3,4])
问题2中,对于元胞也不能直接用“~=”来判断,
可将
if fname1~=''
改为:
if ~isempty(fname1)
如果还有问题,请将fas.txt对应部分内容贴出来
greatdju
2010-02-12 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4183万
展开全部
你把fas.txt给出来让我们看看,还有就是具体说明一下你程序的目的是什么,想干什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式