How do you remove specific rows from a cell array?
3 views (last 30 days)
Show older comments
Mihai Ciortuz
on 21 Jun 2019
Commented: Star Strider
on 22 Jun 2019
I have this 70x1 cell that is made up of my files and looks like this:
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS1.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS1.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS6.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp0\Print.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp0\TS12.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\TS15.csv' }
.
.
.
.
The thing is I want to remove each row that has TS1 in their name, any help? Thanks
0 Comments
Accepted Answer
Star Strider
on 21 Jun 2019
One approach:
C = {{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS1.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS1.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp-20\TS6.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp0\Print.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\Temp0\TS12.csv' }
{'myPC\Documents\MATLAB\DataAnalysis\temp\6\TS15.csv' }};
r = cellfun(@(x)strfind(x, 'TS1.'), C);
er = cellfun(@isempty,r);
Cnew = C(er,:)
This takes advantage of ‘TS1’ always being followed by ‘.’. It will fail otherwise.
1 Comment
Star Strider
on 22 Jun 2019
I did not get that error with the data you posted, and my code.
Without seeing the rest of your code, (the relevant parts of it anyway), I cannot imagine what the problem could be.
Note that you must put 'UniformOutput' in single quotes in the cellfun function.
More Answers (1)
KALYAN ACHARJYA
on 21 Jun 2019
Edited: KALYAN ACHARJYA
on 21 Jun 2019
How do you remove specific rows from a cell array?
data=num2cell(rand(70,1)); % Considering random cell array
%delete suppose 4 row
data(4,:)=[];
Check sizes
Name Size Bytes Class Attributes
data 70x1 8400 cell
Name Size Bytes Class Attributes
data 69x1 8280 cell
0 Comments
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!