Java子字符串只保留数字和小数

时间:2015-10-19 15:37:12

标签: java string

我需要删除字符串的字符串。有几种类型,这里有一些例子:

“82.882英尺” “101in” “15.993ft³” “10.221毫米”

等。我需要删除长度分隔符,所以我将留下字符串:

“82.882” “101” “15.993” “10.221”

想法?

3 个答案:

答案 0 :(得分:1)

尝试在字符串上使用replaceAll,指定所有不是小数点或数字的字符:

myString = myString.replaceAll("[^0-9\\.]","");

" ^ 0-9 \&#34。表示不是数字0到9或小数的所有字符。我们放两个斜杠的原因是为了逃避这个时期,因为它在Java正则表达式中具有与文字字符不同的内涵。'。

答案 1 :(得分:0)

只需使用正则表达式:

String result = input.replaceAll("[^0-9.]", "");

答案 2 :(得分:0)

正则表达式可能最适用于此。

    Pattern lp = Pattern.compile("([\\d.]+)(.*)");

    // Optional cleanup using Apache Commons StringUtils
    currentInput = StringUtils.upperCase(
            StringUtils.deleteWhitespace(currentInput));

    Matcher lpm = lp.matcher(currentInput);
    if( lpm.matches() )
    {
        // Values
        String value = lpm.group(1);

        // And the trailing chars for further processing
        String measure = lpm.group(2);
    }