Identify a number in a string

Hi all, I would like to know how to identify and extract a number or digit from a string or text, so if I have Ans = ['2.66 meters in the front of the mirror']; I would only like to identify and extract the double, this should be a general thing and not only specific to the 2.66. Please help

 Accepted Answer

Wanted = str2double(regexp(Ans, '(+|-)?(\d+)?\.?\d*', 'match'))

More Answers (1)

Ameer Hamza
Ameer Hamza on 11 Oct 2020
Edited: Ameer Hamza on 11 Oct 2020
Try sscanf()
str = '2.66 meters in the front of the mirror';
nums = sscanf(str, '%f');
Result
>> nums
nums =
2.6600

1 Comment

Thank you, this only works if the number is placed first, so generally should its position in the string change it does not work anymore, I then get 0x0 double. Is there a more general way to this?

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!