Effacer les filtres
Effacer les filtres

Find string ends with xls or xlsx

2 vues (au cours des 30 derniers jours)
chlor thanks
chlor thanks le 13 Juil 2016
Commenté : chlor thanks le 14 Juil 2016
I have a char array of strings (each string is a file name) and I would like to find out the strings that ends with xls or xlsx. I know that strcmp can be used only if to compare the first few characters, which is the opposite of what I intent to do---compare the last few characters.
What should I do in this case? Thank you.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 13 Juil 2016
Modifié(e) : Azzi Abdelmalek le 13 Juil 2016
str='abc.xlsx xls.m df.xls er.doc sd.xls'
out=regexp(str,'\S+\.xlsx?\>','match')
  6 commentaires
Guillaume
Guillaume le 14 Juil 2016
I would use this simpler regex:
regexp(str, '\.xlsx?$', 'match', 'once')
Matches '.xls', followed by an optional 'x', followed by the end of the string.
chlor thanks
chlor thanks le 14 Juil 2016
Thank you both! Especially for the notes Guillaume I really appreciate it!

Connectez-vous pour commenter.

Plus de réponses (1)

Star Strider
Star Strider le 13 Juil 2016
The findstr function may do what you want:
fn = 'filename.xlsx';
xls_pos = findstr(fn,'xls')
xls_pos =
10
So if ‘xls_pos’ (in this example) is not empty, the string contains ‘xls’ or ‘xlsx’.
  2 commentaires
chlor thanks
chlor thanks le 13 Juil 2016
Modifié(e) : chlor thanks le 13 Juil 2016
Thank you for sharing Star!
Star Strider
Star Strider le 13 Juil 2016
My pleasure!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by