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?

Antworten (2)

KSSV
KSSV am 22 Jun. 2022

0 Stimmen

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

2 Kommentare

N/A
N/A am 22 Jun. 2022
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)

Melden Sie sich an, um zu kommentieren.

Voss
Voss am 3 Jul. 2022

0 Stimmen

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'

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022a

Gefragt:

N/A
am 22 Jun. 2022

Beantwortet:

am 3 Jul. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by