Find a substring in table
Mostra commenti meno recenti
Hi,
I'm struggling with finding the rows of columns that contains a certain substring (e.g. '.jpg') in a table column?
Any suggestions?
Kati
Risposte (3)
Lei Hou
il 27 Ago 2019
Hi Katharina,
You can make use of table indexing to get that data you want. I’ll use a simple example below to illustrate the output.
Suppose the table is like the following:
Var1 Var2 Var3
___________ ____ ____________
"file1.png" 1 "Image1.jpg"
"file2.jpg" 2 "Image2.jpg"
"file3.gif" 3 "Image3.gif"
"file4.jpg" 4 "Image4.png"
If you want to check which rows of column ‘Var1’ end with ‘.jpg’ and return those rows with all columns, here is the solution.
>> t1 = t(endsWith(t.Var1,'.jpg'),:);
The output 't1' is like the following
Var1 Var2 Var3
___________ ____ ____________
"file2.jpg" 2 "Image2.jpg"
"file4.jpg" 4 "Image4.png"
I’m not sure whether I understand your question correctly. If not, please provide more information about your use case or illustrate your expected output with my simple example.
katharina voigt
il 28 Ago 2019
Modificato: katharina voigt
il 28 Ago 2019
Lei Hou
il 30 Ago 2019
Hi Katharina,
You should cellstr to convert the categorical data to a cell array of character vectors as:
startsWith(cellstr(t.Code),'Response')
You can also call string to convert the categorical data to a string array as:
startsWith(string(t.Code),'Response')
Since R2018b, it is highly recommended to use string instead of cellstr when you work with text because string is more efficient.
Categorie
Scopri di più su Tables in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!