if a string contains any of the strings from an array

18 Ansichten (letzte 30 Tage)
Vosvi
Vosvi am 21 Aug. 2018
Beantwortet: Kojiro Saito am 21 Aug. 2018
I have a str variable below which holds the subject name in the form of "S01_output.xlsx" where '01' part can be any number.
filename='S02_output.xlsx';
substring={'02', '04', '07'};
In an if statement, I need to check if filename contains certain numbers which are found in the array called substring. I tried ismember(filename, substring) but I guess it only works when there is exact match.

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 21 Aug. 2018
Assuming you're using R2014b, how about the following way with strncmpi ?
filename='S02_output.xlsx';
substring={'02', '04', '07'};
substring2=strcat('S', substring);
tf = strncmpi(filename, substring2, 3)
From R2016b, we can use contains function and it's easier.
filename='S02_output.xlsx';
substring={'02', '04', '07'};
tf = contains(filename, substring)

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte


Version

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by