J'ai une longue chaîne. Quelle est l'expression régulière pour diviser les nombres dans le tableau?Comment supprimer le caractère non numérique d'une chaîne dans java?
Répondre
Retirez-vous ou fractionnez-vous? Cela supprimera tous les caractères non numériques.
myStr = myStr.replaceAll("[^\\d]", "")
'myStr = myStr.replaceAll (" [\\ D] "," ");' –
Version sans crochets: 'myStr.replaceAll (" \\ D + "," ")', peut-être plus lisible. – Adil
Vous voulez utiliser la méthode de la classe String Split() et passer dans une expression régulière de « \ D + » qui correspondra à au moins un non-nombre.
myString.split("\\D+");
Cela va supprimer tous les caractères numériques et donner un tableau avec tous les non numériques. C'est exactement le contraire de la demande. – tangens
Oups, je dois avoir mal interprété la question. Dans ce cas, ce serait la version niée de la regex, qui est \\ D + Je vais mettre à jour ma réponse! –
String.split("\\D+")
Une approche plus pour supprimer tous les caractères non numériques d'une chaîne:
String newString = oldString.replaceAll("[^0-9]", "");
Cela fonctionne aussi sous 'gawk'. – Hastur
Cela fonctionne dans Flex SDK 4.14.0
myString.replace (/ [^ 0-9 & & ^.]/G, "");
S'il vous plaît ajouter quelques explications à votre code – KhorneHoly
vous pouvez utiliser une méthode récursive comme ci-dessous:
public static String getAllNumbersFromString(String input) {
if (input == null || input.length() == 0) {
return "";
}
char c = input.charAt(input.length() - 1);
String newinput = input.substring(0, input.length() - 1);
if (c >= '0' && c<= '9') {
return getAllNumbersFromString(newinput) + c;
} else {
return getAllNumbersFromString(newinput);
}
}
façon simple sans utiliser Regex:
public static String getOnlyNumerics(String str) {
if (str == null) {
return null;
}
StringBuffer strBuff = new StringBuffer();
char c;
for (int i = 0; i < str.length() ; i++) {
c = str.charAt(i);
if (Character.isDigit(c)) {
strBuff.append(c);
}
}
return strBuff.toString();
}
Une autre solution regex:
string.replace(/\D/g,'');
Cela a fonctionné pour les chaînes javascript, merci! – jlafay
StringBuilder sb = new StringBuilder();
test.chars().mapToObj(i -> (char) i).filter(Character::isDigit).forEach(sb::append);
System.out.println(sb.toString());
- 1. Remplacer non numérique par une chaîne vide
- 2. Comment supprimer les caractères XML non valides d'un flux dans J2ME? org.xml.sax.SAXParseException: caractère non valide
- 3. Supprimer le caractère du fichier binaire
- 4. Comment puis-je supprimer un caractère de chaîne en PHP?
- 5. Comment substituez-vous une capture Python suivie d'un caractère numérique?
- 6. Saisir un nombre à partir d'une chaîne non numérique
- 7. Caractère non valide '& # x0' rencontré
- 8. Comment supprimer un caractère d'une colonne dans SQL Server?
- 9. Supprimer un caractère à une position d'index dans Ruby
- 10. Comment diviser une chaîne avec le caractère majuscule dans l'iPhone
- 11. Comment obtenir le premier caractère d'une chaîne dans SQL?
- 12. Comment vérifier une chaîne commence par un numéro numérique?
- 13. comment remplacer le caractère nul
- 14. Chiffres du pavé numérique dans la chaîne
- 15. Chaîne vide en format numérique
- 16. Comment déterminer efficacement si une chaîne commence par un nombre, puis obtenir tous les numéros suivants jusqu'à ce que le premier caractère non numérique?
- 17. Caractère de tabulation dans Java
- 18. Fetch les lignes où le premier caractère non alphanumérique
- 19. Détecter le caractère chinois (multi-octets) dans la chaîne
- 20. Javascript - Remplacer le caractère d'échappement dans un littéral de chaîne
- 21. Filtre numérique, Math en Java,
- 22. regex: numérique
- 23. Comment savoir si ma chaîne contient le caractère "micro" Unicode?
- 24. hexadécimale 0x19 est un caractère non valide
- 25. Java, console.readPassword ajoute une ligne supplémentaire. Comment le supprimer?
- 26. Java: Supprimer le double de la chaîne et stocker dans le tableau
- 27. fopen non-ascii caractère erreur
- 28. Supprimer tous les caractères non-ASCII de la chaîne
- 29. Comment puis-je savoir si le premier caractère d'une chaîne est un nombre dans VB.NET?
- 30. Java Non Conversion chaîne à long objet correctement
1. Publier un exemple de chaîne 2. Est-ce une chaîne ou un tableau ou un tableau de chaînes (String [])? 2. Que voulez-vous? supprimez simplement le caractère non numérique d'une chaîne ou supprimez-le et obtenez un tableau contenant les nombres – eveliotc
Veuillez clarifier cette question. Quelques pointeurs: Afficher l'entrée de chaîne et la sortie de chaîne. Reformulez la deuxième phrase pour la rendre un peu plus explicative. Avez-vous plusieurs nombres séparés par un non-chiffre? Ou chaque chiffre devrait être divisé? –