How to remove rows of empty strings?
Ältere Kommentare anzeigen
I have a string array which I have preallocated as follows:
BusName = strings(MaxB,NumBVF,1);
After reading in the data, my string array has many empty rows at the end.
So my question is: How do I remove all rows that consist entirely of blank strings ("")?
Here is what I've come up with so far:
BusName(strcmp(BusName(:,2),""),:) = [];
Unfortunately, it is removing rows that it shouldn't be (rows that have "" but also data).
Any suggestions (and explanation) will be greatly appreciated!
3 Kommentare
the cyclist
am 30 Okt. 2019
Can you upload BusName in a mat file?
Calvin Ewanchuk
am 30 Okt. 2019
the cyclist
am 30 Okt. 2019
Bearbeitet: the cyclist
am 30 Okt. 2019
Your upload worked! (And my solution works on your input.)
Antworten (2)
the cyclist
am 30 Okt. 2019
Bearbeitet: the cyclist
am 30 Okt. 2019
I'm having trouble following the logic in the command you posted, because you seem to be checking only the second column of Busname.
But I'm pretty sure you'll want to use the all command to get the rows where all the elements are blank.
I think it would be something like
BusName(all(strcmp(BusName,""),2),:) = [];
1 Kommentar
Calvin Ewanchuk
am 30 Okt. 2019
Bearbeitet: Calvin Ewanchuk
am 30 Okt. 2019
Walter Roberson
am 30 Okt. 2019
Bearbeitet: the cyclist
am 30 Okt. 2019
BusName = rmmissing(BusName, 'MinNumMissing', size(BusName,2));
2 Kommentare
Calvin Ewanchuk
am 30 Okt. 2019
the cyclist
am 30 Okt. 2019
Yeah, does not work on your string array.
(Walter, my edit of your answer was just to fix up 'MinMissing' to 'MinNumMissing').
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!