Deleting line containing symbol.

1 次查看(过去 30 天)
Hi can You help me finish this command:
E(any(regexp(E, 'A|' , 'match' );,2),:) = [];
Deleting line in variable E(readed by textscan), containing A|.
Thank You.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-4
编辑:Azzi Abdelmalek 2013-2-4
E={'| 00:00 | A| | A| A| A|'
'| 00:15 | 1.21 | | 1.34 | 1.42 | 1.34 |'
'| 00:30 | 1.42 | | 1.76 | 1.34 | 1.45 |'
'| 00:45 | 1.23 | | 1.34 | 1.67 | 1.23 |'}
out=cellfun(@(x) strrep(x,'A|',''),E,'un',0)
out=cellfun(@(x) strrep(x,'|',''),out,'un',0)
  6 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-2-4
Ok
E={'| 00:00 | A| | A| A| A|'
'| 00:15 | 1.21 | | 1.34 | 1.42 | 1.34 |'
'| 00:30 | 1.42 | | 1.76 | 1.34 | 1.45 |'
'| 00:45 | 1.23 | | 1.34 | 1.67 | 1.23 |'}
idx=find(cell2mat(cellfun(@(x) ~any(strfind(x,'A|')),E,'un',0)))
out=E(idx)
ZK
ZK 2013-2-4
Working great. Thank You for Your time, and great answer of course.

请先登录,再进行评论。

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-2-4
E='assA|stA|'
idx=regexp(E,'A|')
E(idx+1)=[]
  4 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2013-2-4
%or
E={'assA|stA|';'azekaA|assaA|'}
for k=1:numel(E)
a=E{k}
idx=regexp(a,'A|')
a(idx+1)=[]
E{k}=a
end
ZK
ZK 2013-2-4
编辑:Azzi Abdelmalek 2013-2-4
Yes of course, sorry for that.
Example:
E<1x1 cell>
<4x1 cell>
| 00:00 | A| | A| A| A|
| 00:15 | 1.21 | | 1.34 | 1.42 | 1.34 |
| 00:30 | 1.42 | | 1.76 | 1.34 | 1.45 |
| 00:45 | 1.23 | | 1.34 | 1.67 | 1.23 |

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by