题目描述:
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.
思路解析:
- 正则表达式匹配:http://www.runoob.com/java/java-regular-expressions.html
- (\\d+\\.?|\\.\\d+)表示\\d+\\.? 和 \\.\\d+ 选择一个
代码:
public class Solution {
public boolean isNumber(String s) {
if(s.trim().isEmpty())
return false;
String regex = "[+-]?(\\d+\\.?|\\.\\d+)\\d*(e[-+]?\\d+)?";
if(s.trim().matches(regex))
return true;
else
return false;
}
}