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 Kommentare

Jan
Jan am 9 Apr. 2019
Please explain more details. What does "filename have ' a '" mean? Start with an 'a' or contain an 'a' anywhere?
if filename(1) == 'a'
or
if any(filename == 'a')
Jassy
Jassy am 9 Apr. 2019
Thank you for your assistance.
"filename have ' a '" mean?
I mean filename is #####a .jpg
Adam Danz
Adam Danz am 9 Apr. 2019
Bearbeitet: Adam Danz am 9 Apr. 2019
So these are all =1?
  • aaaaa.jpg
  • axxxx.jpg
  • a.jpg
What about this?
  • xxA.jpg (capital letter
  • xxxx.app (file extension)
Jan
Jan am 9 Apr. 2019
With the space between the "a" and the ".jpg"? What should happen for "b#####a .jpg"? Is "#" a digit? Please do not let the readers guess the details.
Jassy
Jassy am 9 Apr. 2019
All filename is not have a,b,c in the same file.
Ex. Z1q0001a , Z2q0002a
Z1q0001b , Z2q0002b
Z4f0001c , Dsf0002c
and not have
  • xxA.jpg
  • xxxx.app
because all filename have a,b,c each file.
Adam Danz
Adam Danz am 9 Apr. 2019
Bearbeitet: Adam Danz am 9 Apr. 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 am 9 Apr. 2019
So, it's always the last letter of the filename?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Jan
Jan am 9 Apr. 2019

1 Stimme

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 Kommentar

Jassy
Jassy am 9 Apr. 2019
Thank you so much. It saved me
and next time I will give detail more than this.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Adam Danz
Adam Danz am 9 Apr. 2019

0 Stimmen

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

Kategorien

Mehr zu Thermal Analysis finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 9 Apr. 2019

Kommentiert:

am 9 Apr. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by