// 1.匹配除0-9和.以外的字符,用""替换
str = Pattern.compile("[^0-9.]").matcher(str).replaceAll("");
// 2.以重复的0开头,只保留一个0
str = Pattern.compile("^0+").matcher(str).replaceAll("0");
// 3.以0开头+非0数字,去0
Matcher matcher = Pattern.compile("^(0+)([1-9]*)$").matcher(str);
while (matcher.find()) {
if (!matcher.group(2).equals("")) {
str = matcher.group(2);
}
}
// 4.以.开头,删除.
str = Pattern.compile("^\\.").matcher(str).replaceAll("");
// 5.只能输入一个小数点:匹配出符合条件的字符串保留 0.xxx | xxx.xxx
Matcher matcher1 = Pattern.compile("\\d+\\.\\d*").matcher(str);
while (matcher1.find()) {
str = matcher1.group(0);
}
正则表达式过滤数字
于 2023-04-03 19:36:22 首次发布