How can I output only part of a array?

2 views (last 30 days)
Andy
Andy on 22 Jun 2022
Answered: Voss on 3 Jul 2022
I wrote a code that plots a function for me. In the code, an array is given the name of the selected file. Example: FileName = 'Evaluation_114_1688.xlsm'
I would now like to save the figure as a jpg, which is why I used the command: saveas(gcf,FileName,'jpg')
But I would like to use only the numbers from the file name: 114_1688.jpg
How is it possible for me to select only the numbers from the file name?

Answers (2)

KSSV
KSSV on 22 Jun 2022
FileName = ['114_1688','.jpg'] ;
saveas(gcf,FileName)
  2 Comments
KSSV
KSSV on 22 Jun 2022
[filepath,name,ext] = fileparts('Evaluation_114_1688.xlsm') ;
FileName = strcat(name,'.jpg') ;
saveas(gcf,FileName)

Sign in to comment.


Voss
Voss on 3 Jul 2022
This may work for you:
FileName = 'Evaluation_114_1688.xlsm';
new_name = regexp(FileName, '_([\d_]+\.)', 'tokens', 'once');
% ^ leading underscore
% ^^^^^^ followed by one or more (+) digit (\d == 0-9) or underscore (_) characters
% ^^ followed by a period
% ^ ^ group everything after the leading underscore, up to and including the period, in a "token" to be returned
new_name = [new_name{1} 'jpg']
new_name = '114_1688.jpg'

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!