2014-10-21 51 views
-6

嘿家伙希望你能帮助我。 想从这个代码得到所有的整数,只是留下的信件,在这里从字符串整数

public class Tie { 

    public static void main(String agrs[]){ 
     String fr = "4544FF"; 
     int yu = fr.length(); 
     System.out.print(yu); 

    } 

} 
+5

那......看起来并没有太多努力。你试过什么了? – 2014-10-21 22:38:14

+1

如何获取长度并将其打印出来可以完成您想要做的事情? – 2014-10-21 22:39:29

+0

你能澄清吗?你的意思是输入是“4544FF”,输出应该是“FF”?或者你的意思是什么? – 2014-10-21 23:00:34

回答

-1

试试这个代码

import java.util.ArrayList; 
import java.util.List; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class Tie { 

    public static void main(String agrs[]){ 
     Tie tie = new Tie(); 
     String fr = "4544FF"; 
     char[] strings = fr.toCharArray(); 
     List<Integer>integers = new ArrayList<Integer>(); 
     for(int i=0;i<strings.length;i++){ 
      if(tie.validationNumber(strings[i]+"")){ 
       integers.add(Integer.parseInt(strings[i]+"")); 
      } 
     } 
     for(Integer i:integers){ 
      System.out.println(i); 
     } 
    } 

    public boolean validationNumber(String s){ 

     Pattern pattern = Pattern.compile("\\d+"); 
     Matcher matcher = pattern.matcher(s); 

     if (matcher.matches()) { 
      return true; 
     } 
     return false; 
    } 
} 
1

很认真地丢失,如果你只希望从字符串中删除几个数字,使用正则表达式和替换,用正则表达式“ d'你可以过滤所有数字。

String fr = "4544FF"; 
fr = fr.replaceAll("\\d",""); 
//result should be that fr now is contains only "FF", because the digits have bee replaced with nothing. 

我没有测试它,但它应该工作,如果我用正则表达式的小经验,提供我的权利。

0

你可以做的就是用这个方法子(INT开始,诠释决赛)。

public static void main(String agrs[]){ 
    String fr = "4544FF"; 

    String numbers= fr.substring(0, 4); 
    String letters= fr.substring(4); 

    System.out.println("It will shows 4544" + numbers); 

    System.out.println("It will shows FF" + letters); 

    int convertNumber = Integer.parseInt(numbers); //Convert to int 

    System.out.println("" +convertNumber); 

} 

它会告诉你只有编号4544.

我希望解决您的问题。