Identify a number in a string

조회 수: 24 (최근 30일)
Omphemetse Moeng
Omphemetse Moeng 2020년 10월 11일
댓글: Omphemetse Moeng 2020년 10월 11일
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

채택된 답변

madhan ravi
madhan ravi 2020년 10월 11일
Wanted = str2double(regexp(Ans, '(+|-)?(\d+)?\.?\d*', 'match'))
  댓글 수: 1
Omphemetse Moeng
Omphemetse Moeng 2020년 10월 11일
Thank you for this, it works.

댓글을 달려면 로그인하십시오.

추가 답변 (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
Omphemetse Moeng
Omphemetse Moeng 2020년 10월 11일
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?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile 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