delete or keep special rows in a cell array based on specific column values
2 次查看(过去 30 天)
显示 更早的评论
I have a cell array with 2 columns. first column is array of strings, and second is numeric values. I would like to delete the rows in which the first column does not contain \w & \s at all using reqexprep. example of cell array:
'summits,' '-1'
'.' ' 3'
'greenhouse' ' 0'
'hello world' '-2'
'abandoned' '-2'
But, I have 2 problems:
- Item two how to delete the whole row which satisfies the condition, like the second row in example which contains '.' in the first column,
- how to keep a row which just have additional "," in the first column, like the first row in example(I mean that I want to delete ',' and keep 'summits' and its row)! It's a bit complicated!!
I would appreciate any help,
Thank you in advance
0 个评论
采纳的回答
Azzi Abdelmalek
2016-4-3
A={'summits,' '-1'
'.' ' 3'
'greenhouse' ' 0'
'hello world' '-2'
'abandoned' '-2'}
d=cellfun(@(x) regexprep(x,'[,\.]',''),A(:,1),'un',0)
idx=cellfun(@isempty,d)
A(:,1)=d
A(idx,:)=[]
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Report Generator 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!