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

How can capture 8 numbers and 1 letter

抱歉,有什么帮助吗? 当我在 editText 中写下这样的内容时,我想捕获整数中的数字和字符串中的最后一个字母:

48392312H

我需要两个变量 整数 = 48392312; 字符串 = "H";

有什么帮助吗? 在此先感谢大家。

如果只有最后一个字符总是字母,那么你可以这样做:

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());

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

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

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

试试这个

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

int digits = Integer.parseInt(str.replaceAll("[\D]", ""));
    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) 将输入捕获为字符串。
2) 获取输入的最后一个字符。
3) 将input中除数字以外的所有字符替换为空白
4) 将步骤3的结果转化为Integer.