How to remove rows with any string from matrix
Show older comments
Hello,
I'm trying to remove any rows that have any strings in them in my matric, for example:
name and other jibberish
1 0
0 1
0 2
another name and other words
0 3
1 0
other tosh
and change this to just:
1 0
0 1
0 2
0 3
1 0
so you can see, it doesn't matter what the string is, its not specific to what the letters in the string are, I just want it removed. Is there an easy way of doing this?
Thanks
3 Comments
José-Luis
on 25 Jun 2014
Is your matrix a cell array? Or are you trying to import a text file?
Aidan O'Farrell
on 25 Jun 2014
Jos (10584)
on 25 Jun 2014
For this, my solution should work.
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 25 Jun 2014
Edited: Azzi Abdelmalek
on 25 Jun 2014
fid = fopen('file.txt');
res={};
while ~feof(fid)
res{end+1,1} =fgetl(fid);
end
fclose(fid);
res(cellfun(@(x) any(isletter(x)),res))=[]
out=cell2mat(cellfun(@str2num,res,'un',0))
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!