Comment supprimer le caractère non numérique d’une chaîne dans Java?

J’ai une longue chaîne. Quelle est l’expression régulière pour diviser les nombres dans le tableau?

Enlevez-vous ou divisez-vous? Cela supprimera tous les caractères non numériques.

myStr = myStr.replaceAll( "[^\\d]", "" ) 

Une autre approche pour supprimer tous les caractères non numériques d’une chaîne:

 Ssortingng newSsortingng = oldSsortingng.replaceAll("[^0-9]", ""); 
 Ssortingng.split("\\D+") 

Vous voudrez utiliser la méthode Split () de la classe Ssortingng et passer une expression régulière de “\ D +” qui correspondra à au moins un non-nombre.

 mySsortingng.split("\\D+"); 

Une autre solution de regex:

 ssortingng.replace(/\D/g,''); 

Flux de collecte Java 8 :

 SsortingngBuilder sb = new SsortingngBuilder(); test.chars().mapToObj(i -> (char) i).filter(Character::isDigit).forEach(sb::append); System.out.println(sb.toSsortingng()); 

Cela fonctionne avec Flex SDK 4.14.0

mySsortingng.replace (/ [^ 0-9 && ^.] / g, “”);

Vous pouvez utiliser une méthode récursive comme ci-dessous:

 public static Ssortingng getAllNumbersFromSsortingng(Ssortingng input) { if (input == null || input.length() == 0) { return ""; } char c = input.charAt(input.length() - 1); Ssortingng newinput = input.subssortingng(0, input.length() - 1); if (c >= '0' && c<= '9') { return getAllNumbersFromString(newinput) + c; } else { return getAllNumbersFromString(newinput); } } 

Manière simple sans utiliser Regex:

 public static Ssortingng getOnlyNumerics(Ssortingng str) { if (str == null) { return null; } SsortingngBuffer strBuff = new SsortingngBuffer(); char c; for (int i = 0; i < str.length() ; i++) { c = str.charAt(i); if (Character.isDigit(c)) { strBuff.append(c); } } return strBuff.toString(); }