How can I output only part of a array?

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)

FileName = ['114_1688','.jpg'] ;
saveas(gcf,FileName)

2 Comments

But everytime I run the code, I chose a other file. That means that the FileName is constantly changing. I need a command that recognizes the numbers in the array and names the jpg only after the numbers.
[filepath,name,ext] = fileparts('Evaluation_114_1688.xlsm') ;
FileName = strcat(name,'.jpg') ;
saveas(gcf,FileName)

Sign in to comment.

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'

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Release

R2022a

Asked:

N/A
on 22 Jun 2022

Answered:

on 3 Jul 2022

Community Treasure Hunt

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

Start Hunting!