Mam taki ciąg: @"10/04/2011"
i chcę zapisać tylko „10” w innym ciągu. Jak mogę to zrobić?
objective-c
swift
string
nsstring
jazda na rowerze jest lepsza
źródło
źródło
Odpowiedzi:
Aktualizacja 7/3/2018:
Teraz, gdy pytanie uzyskało znacznik Swift, powinienem dodać szybki sposób zrobienia tego. To jest prawie tak proste:
Chociaż zauważ, że daje ci tablicę
Substring
. Jeśli chcesz przekonwertować je z powrotem na zwykłe ciągi, użyjmap
lub
źródło
[foo firstObject]
może być lepsze w ogólnym przypadku, ponieważ będzie również poprawnie obsługiwać pustą tablicę.Którykolwiek z tych 2:
Pamiętaj jednak, że czasami ciąg daty nie jest poprawnie sformatowany, a dzień (lub miesiąc) jest wyświetlany jako 8, a nie 08, więc pierwsze z nich może być najgorszym z dwóch rozwiązań.
Ta ostatnia powinna zostać umieszczona w oddzielnej tablicy, aby można było faktycznie sprawdzić długość zwracanej rzeczy, dzięki czemu nie otrzymasz żadnych wyjątków w przypadku nieprawidłowego lub nieprawidłowego ciągu daty z dowolnego źródła.
źródło
Działa dobrze
źródło
Cel C:
Szybki:
źródło
Posługiwać się
[myString componentsSeparatedByString:@"/"]
źródło
Sformatowałem fajne rozwiązanie dostarczone przez JeremyP powyżej w bardziej ogólną funkcję wielokrotnego użytku poniżej:
źródło
Wersja Swift 3.0
źródło