Szukam sposobu na wyciągnięcie ostatnich znaków ze String, niezależnie od rozmiaru. Weźmy te ciągi na przykład:
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"
Jak widać, całkowicie losowe ciągi, ale mają na końcu 7 liczb. Jak mógłbym wziąć te 7 liczb?
Edytować:
Właśnie zdałem sobie sprawę, że String[] string = s.split(": ");będzie świetnie tutaj działać, pod warunkiem, że wywołam string [2] dla liczb i string [1] dla czegokolwiek pośrodku.
String.split(), ale warto zauważyć, żes.split(": ")zajava.uitl.regex.Patternkażdym razem, gdy je wywołasz, skompiluje się nowy , a następnie dopasuje twój ciąg do tego wzorca, tworząc regexMatcheriArrayListprzedString[]zwróceniem tego. Będzie on stosunkowo powolny i przydzieli znacznie więcej niż to konieczne, aby rozwiązać ten problem. To, czy ma to znaczenie, zależy od charakteru Twojej aplikacji. Generalnie unikam,split()chyba że naprawdę tego potrzebuję. (Należy pamiętać, żesplit()nie nie użyć wyrażenia regularnego, jeśli podzielić na jednym znaku.)