表示数值的字符串
# 20. 表示数值的字符串
# 题目描述
true
"+100"
"5e2"
"-123"
"3.1416"
"-1E-16"
1
2
3
4
5
6
7
2
3
4
5
6
7
false
"12e"
"1a3.14"
"1.2.3"
"+-5"
"12e+4.3"
1
2
3
4
5
6
7
2
3
4
5
6
7
# 解题思路
使用正则表达式进行匹配。
[] : 字符集合
() : 分组
? : 重复 0 ~ 1 次
+ : 重复 1 ~ n 次
* : 重复 0 ~ n 次
. : 任意字符
\\. : 转义后的 .
\\d : 数字
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
public boolean isNumeric (String str) {
if (str == null || str.length() == 0)
return false;
return new String(str).matches("[+-]?\\d*(\\.\\d+)?([eE][+-]?\\d+)?");
}
1
2
3
4
5
2
3
4
5
上次更新: 2022/08/03, 15:27:45