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

16 java regex replace

public static String removeNonDigits(final String str) {
   if (str == null || str.length() == 0) {
       return "";
   }
   return str.replaceAll("/[^0-9]/g", "");
}
Run Code Online (Sandbox Code Playgroud)

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

Aar*_*lla 38

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


Yan*_*ton 17

试试这个:

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


小智 5

使用以下 whereenumValue是输入字符串。

enumValue.replaceAll("[^0-9]","")
Run Code Online (Sandbox Code Playgroud)

这将采用字符串并将所有非数字数字替换为“”。

例如:输入是 _126576,输出将是 126576。

希望这可以帮助。