How do I extract a number from a string?
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Pedro Guevara
 el 22 de Jun. de 2019
  
    
    
    
    
    Editada: per isakson
      
      
 el 22 de Jun. de 2019
            Good afternoon. I have the following problem. I have a matrix of type "Cell" in which there is data of type "string", said data is composed of a non-numeric character (a - U-) and a numeric character. I want to extract the numeric character of each of the cells in the matrix. Below I leave some images of how my matrices are made.

I want to extract the numerical values of all the "cells" of the last column.
the matrix is named "Yp_c"
Thank you.
2 comentarios
  per isakson
      
      
 el 22 de Jun. de 2019
				I prefer downloading code/variables, which can be used in testing. Please upload Yp_c and possible more examples in a mat-file.
Respuesta aceptada
  per isakson
      
      
 el 22 de Jun. de 2019
        
      Editada: per isakson
      
      
 el 22 de Jun. de 2019
  
      Try this %%-section by section
%%
cac = { 123, 'U 2'; 'Mod3', 789 }; % Sample data
%%
isx = cellfun( @(chr) isa(chr,'char'), cac );
%% 
buf = regexp( cac(isx), '\d+', 'match' ); 
num = cellfun( @str2double, buf, 'uni',false );
%%
cac(isx) = num;
and peek on the result
>> cac
cac =
  2×2 cell array
    {[123]}    {[  2]}
    {[  3]}    {[789]}
>> 
After reading "all the "cells" of the last column" more carefully
%%
cac = { 123, 'U 2'; 'Mod3', [] }; % Sample data
%%
isx = cellfun( @(chr) isa(chr,'char'), cac(:,end) );
%% 
buf = regexp( cac(isx,end), '\d+', 'match' ); 
num = cellfun( @str2double, buf, 'uni',false );
%%
cac(isx,end) = num;
and peek on the result
>> cac
cac =
  2×2 cell array
    {[ 123]}    {[       2]}
    {'Mod3'}    {0×0 double}
/ R2018b
0 comentarios
Más respuestas (1)
  Fikret Dogru
      
 el 22 de Jun. de 2019
        Hello,
I didn't get your question well but if you want to extract numerical value try cell2mat first or use cell string to get values like Yp_c{:,:} all elements
0 comentarios
Ver también
Categorías
				Más información sobre Data Type Conversion 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!


