if a string contains any of the strings from an array

16 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Kojiro Saito
Kojiro Saito il 21 Ago 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)

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti


Release

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by