2017-02-13 5 views
-2

Я надеюсь, что кто-то может мне помочь, у меня есть следующая проблема. У меня есть переменная, которая выглядит следующим образом:Java: возвращает int из var, содержащего буквы и цифры

var a = "01VENT000KRV010WFEVVV055"; 

Я хотел бы также:

  • имеют последние 3 цифры переменной (например, 055) в качестве ИНТ

  • или удалить ВСЕ не фигуры из переменной (например, 01000010055) в виде int

Моя идея заключалась в том, что:

int sub = Integer.parseInt(a.substring(a.length-3)); 

или:

int sub = Integer.parseInt(a.replaceAll("[\\D]", "")); 

Это не работало, поэтому я был бы очень признателен, если кто-то может помочь мне здесь Благодаря

+0

вы должны обращаться с ведущего нуля '0', – Kent

+0

@Kent Integer.parseInt будет заботиться о ведущих нулей. – nafas

+0

Хммм и как? любая помощь? – Andre

ответ

0

Примечание все методы могут потенциально возвращает пустую строку.

public static void main(String[] args) { 
     // TODO code application logic here 

     String a = "01VENT000KRV010WFEVVV055"; 
     System.out.println(removeChars(a)); 
     System.out.println(removeDigits(a)); 
     System.out.println(getLastThreeChars(a)); 
    } 


    //This method removes Characters from a string and returns a String of numbers 
    static String removeChars(String t) 
    { 
     String tempString = ""; 

     for(int i = 0; i < t.length(); i++) 
     {    
      if(Character.isDigit(t.charAt(i))) 
      { 
       tempString += t.charAt(i); 
      } 
     } 

     return tempString; 
    } 

    //This method removes Digits from a string and returns only characters 
    static String removeDigits(String t) 
    { 
     String tempString = ""; 

     for(int i = 0; i < t.length(); i++) 
     {    
      if(Character.isAlphabetic(t.charAt(i))) 
      { 
       tempString += t.charAt(i); 
      } 
     } 

     return tempString; 
    } 

    //This methods prints the last 3 char of a string 
    static String getLastThreeChars(String t) 
    { 
     StringBuilder tempString = new StringBuilder(); 

     for(int i = t.length() - 1; i > t.length() - 1 - 3; i--) 
     { 
      tempString.append(t.charAt(i)); 
     } 

     return tempString.reverse().toString(); 
    } 

enter image description here

Смежные вопросы