假设有三个字符串:
String s1 = "6A";
String s2 = "14T";
String s3 = "S32";
我需要提取数值(即 6,14 和 32)和字符(A、T 和 S)。
如果第一个字符始终是数字,则此代码将起作用:
int num = Integer.parseInt(s1.substring(0,1));
但是,这不适用于 s2
和 s3
。
最佳答案
你可以做这样的事情:
public static int getNumber(String text){
return Integer.parseInt(text.replaceAll("\\D", ""));
}
public static String getChars(String text){
return text.replaceAll("\\d", "");
}
public static void main(String[] args) {
String a = "6A";
String b = "14T";
String c = "S32";
System.out.println(getNumber(a));
System.out.println(getChars(a));
System.out.println(getNumber(b));
System.out.println(getChars(b));
System.out.println(getNumber(c));
System.out.println(getChars(c));
}
输出:
6 A 14 时间 32
关于java - 如何从字符串中获取数字和非数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808684/