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 件)

Dishant Arora
Dishant Arora 2014 年 6 月 13 日

0 投票

String = 'mario5.png';
output = String(regexp(String , '[0-9]'));

1 件のコメント

Diego
Diego 2014 年 6 月 13 日
but what if the nomber is bigger than 10 will this work?

サインインしてコメントする。

David Sanchez
David Sanchez 2014 年 6 月 13 日

0 投票

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 2014 年 6 月 13 日
編集済み: Brian B 2014 年 6 月 13 日

0 投票

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'))

1 件のコメント

Diego
Diego 2014 年 6 月 13 日
Thank you so much to all of you!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCharacters 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