Java searching float number in String

前端 未结 7 2067
轻奢々
轻奢々 2020-12-02 02:35

let\'s say i have string like that:

eXamPLestring>1.67>>ReSTOfString

my task is to extract only 1.67 from string above.

7条回答
  •  星月不相逢
    2020-12-02 03:10

    If you want to extract all Int's and Float's from a String, you can follow my solution:

    private ArrayList parseIntsAndFloats(String raw) {
    
        ArrayList listBuffer = new ArrayList();
    
        Pattern p = Pattern.compile("[0-9]*\\.?[0-9]+");
    
        Matcher m = p.matcher(raw);
    
        while (m.find()) {
            listBuffer.add(m.group());
        }
    
        return listBuffer;
    }
    

    If you want to parse also negative values you can add [-]? to the pattern like this:

        Pattern p = Pattern.compile("[-]?[0-9]*\\.?[0-9]+");
    

    And if you also want to set , as a separator you can add ,? to the pattern like this:

        Pattern p = Pattern.compile("[-]?[0-9]*\\.?,?[0-9]+");
    

    .

    To test the patterns you can use this online tool: http://gskinner.com/RegExr/

    Note: For this tool remember to unescape if you are trying my examples (you just need to take off one of the \)

提交回复
热议问题