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 に答える