正则表达,两种处理思路:
1、去除所有非数字字符,使用正则表达式:\D
2、提取数字字符,使用正则表达式:\d
3、若字符中间有非数字字符,可能考虑用两边去除非数字字符的方式,从两头遍历检查。(推荐)
测试代码如下:
String str = "[{45dfd,<>67}]";
Pattern pattern = Pattern.compile("^\\D+|\\D+$");
Matcher matcher = pattern.matcher(str);
str = matcher.replaceAll("");
System.out.println(str);
注:可以根据你的需求定制,是指定匹配“[]”“{}”或者其他字符,或者预定义字符集,总之能够避免匹配中间字符