Using sscanf to extract numbers from string

Hi everyone, I'm having some trouble with sscanf, I'm trying to read two sets of number from a string which looks something like this 30cycles_sample2_11_29.csv. I want to extract the last two numbers, separated by underscores. Since the format of the string won't change I'd like to just read all numbers from the string, and can separate out the ones I'd like after. I've tried sscanf('30cycles_sample2_11_29.csv','%f') and variations but can only ever read the first number, 30 in this case. Any help is appreciated!

 Accepted Answer

This works for me:
str = '30cycles_sample2_11_29.csv';
out = sscanf(str, '30cycles_sample2_%2d_%2d.csv')
out =
11
29

4 Comments

My pleasure!
You can also just use ‘%d’ and leave out the field width:
out = sscanf(str, '30cycles_sample2_%d_%d.csv')
Learner
Learner on 12 Nov 2019
Edited: Learner on 12 Nov 2019
Can we extract float values??
%f instead of %d, i guess

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!