6

我只需要从中提取数值String str="sdfvsdf68fsdfsf8999fsdf09"。如何从android中的字母数字字符串中提取数字?

4

3 回答 3

35
String str="sdfvsdf68fsdfsf8999fsdf09";
String numberOnly= str.replaceAll("[^0-9]", "");

更新:

String str="fgdfg12°59'50\" Nfr | gdfg: 80°15'25\" Efgd";
String[] spitStr= str.split("\\|");

String numberOne= spitStr[0].replaceAll("[^0-9]", "");
String numberSecond= spitStr[1].replaceAll("[^0-9]", "");
于 2012-05-24T09:47:59.160 回答
4
public static String getOnlyNumerics(String str) {

    if (str == null) {
        return null;
    }

    StringBuffer strBuff = new StringBuffer();
    char c;

    for (int i = 0; i < str.length() ; i++) {
        c = str.charAt(i);

        if (Character.isDigit(c)) {
            strBuff.append(c);
        }
    }
    return strBuff.toString();
}
于 2012-05-24T09:52:52.400 回答
1
public static int extractNumberFromAnyAlphaNumeric(String alphaNumeric) {
    alphaNumeric = alphaNumeric.length() > 0 ? alphaNumeric.replaceAll("\\D+", "") : "";
    int num = alphaNumeric.length() > 0 ? Integer.parseInt(alphaNumeric) : 0; // or -1 
    return num;
}

您可以根据需要将值设置为 0 或 -1(如果在字母数字中根本找不到数字该怎么办)

于 2017-04-11T16:33:12.043 回答