将所有非数字替换为字符串中的空字符

2022-09-02 11:10:01
public static String removeNonDigits(final String str) {
   if (str == null || str.length() == 0) {
       return "";
   }
   return str.replaceAll("/[^0-9]/g", "");
}

这应该只获得数字并返回,但不能按预期进行!有什么建议吗?


答案 1

Java 不是 Perl :)尝试"[^0-9]+"


答案 2

试试这个:

public static String removeNonDigits(final String str) {
   if (str == null || str.length() == 0) {
       return "";
   }
   return str.replaceAll("\\D+", "");
}