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

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

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!

Stephen23 on 11 Aug 2021
Edited: Stephen23 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

### Categories

Find more on Tables 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!

Translated by