EXTRACT NUMBER FROM A COMBINED STRING AND NUMBERS

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?

回答(3 个)

String = 'mario5.png';
output = String(regexp(String , '[0-9]'));
use str2double to get it in double format:
output = str2double(String(regexp(String , '[0-9]')))
output =
5
otherwise your output will be a string.
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'))

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

提问:

2014-6-13

评论:

2014-6-13

Community Treasure Hunt

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

Start Hunting!

Translated by