MATLAB Answers

specific pattern from the file name

7 views (last 30 days)
ayman mounir
ayman mounir on 26 Jul 2019
Edited: ayman mounir on 28 Jul 2019
I want to extract the project number from the file name
example the file fame is: 'abcdd-22_Z12'
the project number should be Z12 for sure it is dynamic name could in the next file name Z11 for intance.
which expression I should use

  0 Comments

Sign in to comment.

Accepted Answer

per isakson
per isakson on 26 Jul 2019
Edited: per isakson on 26 Jul 2019
These statements
%%
chr = 'abcdd-22_Z12';
cac = regexp( chr, '(?<=_)Z\d{2}', 'match' );
cac{:}
return
ans =
'Z12'
This regex, '(?<=_)Z\d{2}', matches a literal "Z" followed by two digits, which is preceded by underscore.

  1 Comment

ayman mounir
ayman mounir on 27 Jul 2019
Thanks It works perfectly

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 26 Jul 2019
[~, basename, ext] = fileparts(FileName);
parts = strsplit(basename, '_');
project = parts{end};
In some cases this can be simplified: for example if the directory and extension are already removed from FileName then
project = regexp(FileName, '(?<=_).*', 'match');

  1 Comment

Sign in to comment.

Sign in to answer this question.