Bonjour à tous
J'aimerais bien séparer une chaîne " 1 270,00 AE452P",
J'utilise chaine.split(" "c) mais malheureusement ça sépare le 1 du 270,00 !!
Si vous avez des suggestion pour avoir le résultat suivant {"1 270,00","AE452P"} et merci d'avance.
Bonjour à tous
J'aimerais bien séparer une chaîne " 1 270,00 AE452P",
J'utilise chaine.split(" "c) mais malheureusement ça sépare le 1 du 270,00 !!
Si vous avez des suggestion pour avoir le résultat suivant {"1 270,00","AE452P"} et merci d'avance.
T'as quoi comme certitude sur cette chaine ?
Les Regex avec des groups seraient le must mais il faut savoir comment est composée ta string.
Selon la réponse on pourrait peut-être imaginer plus simple.
Enfin il reste la méthode C, la plus simple![]()
Il faudrait plutôt le faire à l'envers si possible, puisque tu ne connais pas le ou les espaces dans le nombre.
Il faudrait dire : Sépare le dernier mot (chaine de caractère avec le "dernier" espace"), et tu prends le reste.
et tu fais un TryPArse sur le reste pour faire un nombre.
Ceci ferait l'affaire ?
En détails:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ^\s*([\d, ]*)\s([a-zA-Z0-9]*)
- ^\s* on saute le premier espace (on peut aussi utiliser un trim avant d'appliquer la regex, au choix)
- ([\d, ]*) on récupère tous les nombres, la virgule et les espaces
- \s on saute un espace
- ([a-zA-Z0-9]*) on récupère ce qui suit
Résultats :
- " 1 200,84 ABC123DE" = {"1 200,84", "ABC123DE"}
- " 1 200 000,84 ABC123DE" = {"1 200 000,84", "ABC123DE"}
Less Is More
Pensez à utiliser les boutons
,
et les balises code
Desole pour l'absence d'accents, clavier US oblige
Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.
Partager