首页 > 解决方案 > 从字符串中去除非数字字符

问题描述

我有这样的字符串:"He3llo5"

如何剥离此字符串以便只保留数字?

期望的结果:

35

标签: javaandroidstring

解决方案


最简单的解决方案:使用正则表达式和.replaceAll()

String string="He3llo5";
String result = string.replaceAll("[^\\d.]", "");
System.out.println(result);

哪个打印:

35

或者,您可以编写自己的方法,使用Character.isDigit()类似的方法StringBuilder

public static String stripAlphabet(String s) {
    int len = s.length();
    StringBuilder str = new StringBuilder();
    for(int i = 0; i < len; i++) {
        char c = s.charAt(i);
        str.append(Character.isDigit(c) ? c : "");
    }
    return str.toString();
}

结果也产生35了以下结果:

String string="He3llo5";
String result = stripAlphabet(string);
System.out.println(result);

推荐阅读