Identify a number in a string

28 vues (au cours des 30 derniers jours)
Omphemetse Moeng
Omphemetse Moeng le 11 Oct 2020
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

Réponse acceptée

madhan ravi
madhan ravi le 11 Oct 2020
Wanted = str2double(regexp(Ans, '(+|-)?(\d+)?\.?\d*', 'match'))
  1 commentaire
Omphemetse Moeng
Omphemetse Moeng le 11 Oct 2020
Thank you for this, it works.

Connectez-vous pour commenter.

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 11 Oct 2020
Modifié(e) : Ameer Hamza le 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 commentaire
Omphemetse Moeng
Omphemetse Moeng le 11 Oct 2020
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?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by