public class Main {
public static void main(String [] args){
// devolvera el numero 23
System.out.println(getFirstNumberFromString("La casa numero 23 es muy grande")); }
/**
* Funcion que devuelve el primer numero de una cadena de caracteres
*/
public static int getFirstNumberFromString(String str){
int num=(int)Float.NaN;
int i=0;
int j=0;
int p=0, p2=0;
String aux="";
String aux2="";
while(j<str.length()){ aux2=""+str.charAt(j);
if(isNumeric(aux2)){ if(j-1>=0){ aux2=""+str.charAt(j-1);
if(aux2.equals("-")){ j=j-1;
}
}
p=j;
j=str.length();
}
j++;
}
i=p;
while(i<str.length()){ aux=str.substring(p,i+1);
if(isNumeric(aux)){ num=Integer.parseInt(aux);
}
i++;
}
return num;
}
/**
* Funcion que define si una cadena es numerica
*/
public static boolean isNumeric(String str){ try{ Integer.parseInt(str);
return true;
}catch(Exception ex){ return false;
}
}
}