if string is abc return value

3 vues (au cours des 30 derniers jours)
Jassy
Jassy le 9 Avr 2019
Commenté : Jassy le 9 Avr 2019
Hi.
I have filename is string and then I want to find specific name.
if filename have ' a ' xxx = 1
if filename have ' b ' xxx = 2
if filename have ' c ' xxx = 3
thank you.
  7 commentaires
Adam Danz
Adam Danz le 9 Avr 2019
Modifié(e) : Adam Danz le 9 Avr 2019
what if filename has 'a' and 'b' what value does it get?
This question needs to be defined more clearly.
Adam Danz
Adam Danz le 9 Avr 2019
So, it's always the last letter of the filename?

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 9 Avr 2019
Maybe:
[fPath, fName, fExt] = fileparts(filename);
if endsWith(fName, 'a ') % With the space as in your example
xxx = 1;
elseif endsWith(fName, 'b ')
xxx = 2;
... etc
end
Or:
[fPath, fName, fExt] = fileparts(filename);
switch fname(end-1) % Again assuming you mean the 2nd last character
case 'a'
xxx = 1;
case 'b'
xxx = 2
... etc
otherwise
error('Unexpected charatcer')
end
  1 commentaire
Jassy
Jassy le 9 Avr 2019
Thank you so much. It saved me
and next time I will give detail more than this.

Connectez-vous pour commenter.

Plus de réponses (1)

Adam Danz
Adam Danz le 9 Avr 2019
The cell array 'key' lists all possible last-characters and the order determines the value.
filename = 'Z2q0002b.jpg';
[~, fName] = fileparts(filename);
key = {'a' 'b' 'c'};
xxx = find(strcmp(key, fName(end)));
xxx =
2

Catégories

En savoir plus sur Thermal Analysis dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by