Extracting Numbers from a mixed string
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
Hi! 
I would like to know how to extact the numbers from this string,
such that: 
a = [ 3.00, 3.1390 , 0.0070, 1160] 
b = [ 20.00. 20.1350, 0.012. 1323]
0070 , 1160
"Lung:	3.00	Calibrated:	3.1390	Uncertainty:	0.0070	Asset#	1160	Cal=	N/A	Due=	N/A"
"Lung:	20.00	Calibrated:	20.1350	Uncertainty:	0.0120	Asset#	1323	Cal=	N/A	Due=	N/A"
I cannot get the correct value with b=regexp(str,'\d?\.?\d+','match'), but I am close I think. 
It works for a, but not for b
Cheers
HRG
댓글 수: 0
채택된 답변
  Kelly Kearney
      
 2020년 7월 16일
        Assuming numbers only appear as properly-formatted combos, you can simply look for all number-decimal groups:
b = regexp(str, '[\d\.]+', 'match');
This one is a little more picky, making sure the number-decimal groups form a "proper" number (i.e. wouldn't match something like 1.2.3)
b = regexp(str, '\d+\.{0,1}\d+', 'match');
참고 항목
카테고리
				Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

