如何捕获8个数字和1个字母

时间:2015-08-05 09:38:30

标签: java android android-edittext

对不起任何帮助? 我想在整数和字母表中的最后一个字母中捕获数字,当我在editText中写这样的东西时:

48392312H

我需要两个变量 int = 48392312; String =" H&#34 ;;

任何帮助? 提前感谢人们。

4 个答案:

答案 0 :(得分:0)

如果只有最后一个字符始终是字母,那么您可以执行以下操作:

int number = Integer.valueOf(editTextString.substring(0, editTextString.length() - 1));
String letter = editTextString.substring(editTextString.length() - 1);
// However you should consider getting a letter as a character:
char letterChar = editTextString.charAt(editTextString.length());

答案 1 :(得分:0)

您可以遍历从EditText获得的字符串,然后使用http://developer.android.com/reference/java/lang/Character.html#isDigit(char)函数来确定它是数字还是字符。

然后只需将数字添加到一个字符串中,然后在查看原始字符串时将字符添加到另一个字符串,然后在最后解析它们。

这将为您留下两个变量,一个包含所有数字,另一个包含所有字符。

答案 2 :(得分:0)

试试这个

String str = "48392312H";
String chars = str.replaceAll("[^\\d.]", "");

int digits = Integer.parseInt(str.replaceAll("[\\D]", ""));

答案 3 :(得分:0)

    String s="48392312H";
    String lastCharacter=String.valueOf(s.charAt(s.length()-1));
    System.out.println(lastCharacter);
    int number=Integer.valueOf( s.replaceAll("\\D+",""));
    System.out.println(number);

1)将输入捕获为String 2)获取输入的最后一个字符 3)将输入中的所有字符替换为空白而不是数字 4)将步骤3的结果转换为整数。