if (tokens[i].matches("[0-9]+"))
这使得它目前只读取整个整数,直到出现空格,我如何让它读取小数?
答案 0 :(得分:3)
添加可选的小数部分:
if (tokens[i].matches("[0-9]*([.][0-9]+)?"))
使用星号将整数部分设为可选。但是,这个表达式的问题是现在它可以匹配一个空字符串。更好(但更长)的表达式将匹配在单独的子表达式中以小数点开头的字符串,如下所示:
if (tokens[i].matches("[0-9]+([.][0-9]+)?|[.][0-9]+"))
答案 1 :(得分:0)
试试这个:
if (tokens[i].matches([0-9]+(\.[0-9][0-9]?)?)