MATLAB Answers

How to remove all the rows containing a substring from a table?

1 view (last 30 days)
Chiara Scarpellini
Chiara Scarpellini on 10 Aug 2021
Edited: Stephen on 11 Aug 2021
I need to remove all the rows containing the substring Downstream from the table.

Accepted Answer

Wan Ji
Wan Ji on 11 Aug 2021
Assume the table is named 'myTable'.
Then
p = arrayfun(@(i)strncmpi(myTable.beregnings{i}(end:-1:1),'maertsnwod',10),(1:1:size(myTable,1))','uniform',true);
newTable = myTable(~p,:);
Your newTable is therefore what you want!

More Answers (1)

Stephen
Stephen on 11 Aug 2021
Edited: Stephen on 11 Aug 2021
Simple and efficient MATLAB approach:
A = [0;1;2;3;4];
B = ["cat";"hat";"sat_Downstream";"fat";"rat_Downstream"];
C = [5;6;7;8;9];
T = table(A,B,C)
T = 5×3 table
A B C _ ________________ _ 0 "cat" 5 1 "hat" 6 2 "sat_Downstream" 7 3 "fat" 8 4 "rat_Downstream" 9
X = contains(T.B,'Downstream'); % or endsWith
T(X,:) = []
T = 3×3 table
A B C _ _____ _ 0 "cat" 5 1 "hat" 6 3 "fat" 8

Community Treasure Hunt

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

Start Hunting!