Extracting Numbers from a mixed string
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Hayden Garmon
      
 el 16 de Jul. de 2020
  
    
    
    
    
    Comentada: Hayden Garmon
      
 el 17 de Jul. de 2020
            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 comentarios
Respuesta aceptada
  Kelly Kearney
      
 el 16 de Jul. de 2020
        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');
Ver también
Categorías
				Más información sobre Characters and Strings en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

