public static String removeNonDigits(final String str) {
if (str == null || str.length() == 0) {
return "";
}
return str.replaceAll("/[^0-9]/g", "");
}
これは、数字を取得して戻るだけで、期待どおりに実行されないはずです。助言がありますか?
JavaはPerlではありません:)"[^0-9]+"
を試してください
これを試して:
public static String removeNonDigits(final String str) {
if (str == null || str.length() == 0) {
return "";
}
return str.replaceAll("\\D+", "");
}
以下を使用します。ここで、enumValue
は入力文字列です。
enumValue.replaceAll("[^0-9]","")
これにより、文字列が取得され、数字以外のすべての数字が「」に置き換えられます。
例:入力は_126576、出力は126576になります。
お役に立てれば。
public String replaceNonDigits(final String string) {
if (string == null || string.length() == 0) {
return "";
}
return string.replaceAll("[^0-9]+", "");
}
これはあなたが望むことをします。
この特定のケースでは、文字列上に小さなループを作成することをお勧めします。
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch =='0' || ch == '1' || ch == '2' ...) {
sb.add(ch);
}
}
return sb.toString();