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(); }