EXTRACT NUMBER FROM A COMBINED STRING AND NUMBERS

1 view (last 30 days)
Diego
Diego on 13 Jun 2014
Commented: Diego on 13 Jun 2014
I have for example the following string 'mario5.png' or 'Julian15.png' and want to extract the numbers from there in the first case 5 in the second case 15. Can anyone tell me which function to look for?

Answers (3)

Dishant Arora
Dishant Arora on 13 Jun 2014
String = 'mario5.png';
output = String(regexp(String , '[0-9]'));

David Sanchez
David Sanchez on 13 Jun 2014
use str2double to get it in double format:
output = str2double(String(regexp(String , '[0-9]')))
output =
5
otherwise your output will be a string.

Brian B
Brian B on 13 Jun 2014
Edited: Brian B on 13 Jun 2014
If the number is bigger than 9, you can make a slight modification to the answer by David Sanchez:
output = str2double(String(regexp(String , '[0-9]+')))
This will work for positive integers. The "+" means "one or more". You can also skip a step by requesting that regexp return the matching part of the string instead of the index of the match:
output = str2double(regexp(String , '[0-9]+', 'match'))

Community Treasure Hunt

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

Start Hunting!