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

 采纳的回答

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

更多回答(1 个)

Ameer Hamza
Ameer Hamza 2020-10-11
编辑:Ameer Hamza 2020-10-11
Try sscanf()
str = '2.66 meters in the front of the mirror';
nums = sscanf(str, '%f');
Result
>> nums
nums =
2.6600

1 个评论

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?

请先登录,再进行评论。

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by