Searching multiple strings at one time
73 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tyler Murray
am 22 Sep. 2016
Kommentiert: Tao Wang
am 13 Jan. 2022
I am importing a text file and want to eliminate data I don't need to further study. The array is a 40 x 1 and each row contains its own sentence with data. I want to search for multiple strings since I know what the interesting data points start with. I don't want to use strfind multiple times and combine at the end because that will just make the code unnecessarily long and slow. Ideally, I'd have a scenario such as
exampleStrings = {'This test was run hot'; 'This test failed', 'This test failed', 'This test ran at hot and cold', 'This test ran at ambient'}
check = {'hot', 'cold', 'med'}
x = strfind(exampleStrings, check)
x = [1; 0; 0; 1; 0] (output)
Essentially, the string search cannot search for a perfect match or else it will return all 0's which is why I have been struggling. Any ideas?
1 Kommentar
Tao Wang
am 13 Jan. 2022
mystr={'123a1','ab','111'};
pat = ("a"|"b");
a = strfind(mystr,pat)
% can get index of each match
ab = contains(mystr,pat)
% logical result
Akzeptierte Antwort
Walter Roberson
am 22 Sep. 2016
Otherwise:
~cellfun(@isempty,regexp(exampleStrings,strjoin(check,'|')))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!