java - 如何从字符串中获取数字和非数字值

标签 java string character

假设有三个字符串:

String s1 = "6A";
String s2 = "14T";
String s3 = "S32";

我需要提取数值(即 6,14 和 32)和字符(A、T 和 S)。

如果第一个字符始终是数字,则此代码将起作用:

int num = Integer.parseInt(s1.substring(0,1));

但是,这不适用于 s2s3

最佳答案

你可以做这样的事情:

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/

相关文章:

ios - 如何将 NSURL 转换为字符串

php - 如何在 PHP 中打开名称中包含 unicode 字符的文件?

Excel VBA - 替换非英文字符

Java 和 MySQL - 列数与第 1 行的值数不匹配

Java程序再次运行时弹出错误信息

java - BufferedReader 默认缓冲区大小?

java - 当我在 Java 中创建一个新的 String 时,它是用 null 还是用 ""初始化的?

java - 使用 EclipseLink 在 Oracle 上执行查询时出现奇怪的行为

python - 如何在代码中初始化 UTF-16?

php - MySQL 命令不通过 PHP 脚本执行