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;
}
}
}