利用正则表达式:
import java.util.regex.Pattern; public class Solution { public boolean isNumber(String s) { //首先想到用正则表达式来做 /* 复习一下常用的数量词: X?:代表X出现1次或0次; X*:代表X出现0次或多次; X+:1次或多次; X{n}:X出现n次; X{n,}:X出现至少n次; X{n,m}:X出现至少n次,但不超过m次 */ if(s.equals(" ")||s.length()==0) return false; String pattern = "^[+-]?((?:\\d*\\.)?\\d+|\\d+(?:\\.\\d*)?)(?:[eE][+-]?\\d+)?$"; return Pattern.matches(pattern,s.trim()); } }