Je cherche un moyen d'extraire les derniers caractères d'une chaîne, quelle que soit sa taille. Prenons ces chaînes en exemple :
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"
Comme vous pouvez le voir, des chaînes complètement aléatoires, mais elles ont 7 numéros à la fin. Comment pourrais-je prendre ces 7 numéros ?
Edit :
Je viens de réaliser que String[] string = s.split(": ");
fonctionnerait parfaitement ici, tant que j'appelle string[2] pour les chiffres et string[1] pour tout ce qui se trouve au milieu.
0 votes
Votre question et plusieurs réponses mentionnent
String.split()
mais il est intéressant de noter ques.split(": ")
va compiler un nouveaujava.uitl.regex.Pattern
à chaque fois que vous l'appelez, puis fait correspondre votre chaîne avec ce motif, créant ainsi une regexMatcher
et unArrayList
avant leString[]
qui est retourné. Il sera relativement lent et allouera bien plus que nécessaire pour résoudre ce problème. L'importance de ce problème dépend de la nature de votre application. J'évite généralementsplit()
sauf si j'en ai vraiment besoin. (Notez quesplit()
fait pas utilisez une regex si vous divisez sur un seul caractère).