swift: jak mogę usunąć konkretną postać?
ciąg, taki jak ! !! yuahl! ! chcę usunąć
!i, kiedy koduję w ten sposób
for index in InputName.characters.indices {
if String(InputName[index]) == "" || InputName.substringToIndex(index) == "!" {
InputName.removeAtIndex(index)
}
}
pojawia się taki błąd „błąd krytyczny: indeks: zakres podrzędny rozszerza się poza koniec ciągu”, jak mam to zrobić? THX: D
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
8 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Swift 3+
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Jeśli chcesz usunąć również znaki w środku, „rekonstrukcja z przefiltrowanego wyjścia” jest nieco bardziej wydajna niż ponowne usunięcie jednego znaku.
Jeśli nie masz nic przeciwko generowaniu wielu pośrednich ciągów i tablic, ta pojedyncza linijka może wygenerować oczekiwany wynik:
Anonimowy użytkownik
Potwierdzenie od:
Swift 3
W Swift 3 składnia jest nieco lepsza. W wyniku wielkiego przyspieszenia starych interfejsów API metoda fabryczna nosi teraz nazwę . Alternatywnie możesz zbudować jako z jednoznakowego s:
Jeśli masz znaki w środku ciągu, który również chcesz usunąć, możesz użyć komponentów :
H/T @OOPer dla wersji Swift 2
Anonimowy użytkownik
Potwierdzenie od:
Dodając tę funkcję do rozszerzenia , możesz ostatecznie usunąć określony znak z ciągu.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
na przykład jeśli chcesz usunąć procent „%” z 10%