LeetCode

题目:

Validate if a given string is numeric.

Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true

Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.

思路:

正则表达式

package others;

public class ValidNumber {

    public boolean isNumber(String s) {
        return s.matches("^\s*[+-]?(\d+|\d*\.\d+|\d+\.\d*)([eE][+-]?\d+)?\s*$");
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ValidNumber v = new ValidNumber();
        System.out.println(v.isNumber("3.1"));
        System.out.println(v.isNumber("- 8.9"));
        System.out.println(v.isNumber("2."));
        System.out.println(v.isNumber("abc"));
        System.out.println(v.isNumber("e10"));
        System.out.println(v.isNumber("5e10"));
    }

}
原文地址:https://www.cnblogs.com/null00/p/5087614.html