Czy istnieje sposób na manipulowanie ciągiem w języku Python za pomocą następujących sposobów?Obsługa spacji za pomocą notacji kropkowej
Dla dowolnego ciągu znaków, który jest przechowywany w notacji z kropkami, na przykład:
s = "classes.students.grades"
Czy istnieje sposób, aby zmienić łańcuch na następujące kwestie:
"classes.students"
Zasadniczo, usuń wszystko, aż do w tym ostatni okres. Tak więc "restaurants.spanish.food.salty"
stanie się "restaurants.spanish.food"
.
Dodatkowo, czy istnieje sposób na określenie, co stanie się po ostatnim okresie? Powodem, dla którego chcę to zrobić, jest użycie isDigit()
.
Tak więc, jeśli to było classes.students.grades.0
mogłem chwycić 0
jakoś, więc mogę użyć instrukcji if z isdigit
i powiedzieć, czy ta część napisu po ostatnim okresie (tak 0
w tym przypadku) jest cyfrą, usuń go, w przeciwnym razie zostaw.
Dlaczego tak dużo pracy, kiedy można po prostu podzielone na * Ostatnia * kropka z 'str.rsplit()' lub 'str.rpartition()'? –
@minitoto: Twoje podejście dzieli się na * wszystkie * kropki, wymagające dodatkowego ''.'. Join()'. Używając '.rsplit ('.', 1) [0]' lub jeszcze lepiej, '.rpartition ('.') [0]' daje wymagany wynik bez konieczności ponownego dołączania. Obie te metody również dają ci ogon, część po ostatniej kropce. –
Co jest złego w robieniu s [: - s.find (". ')], Aby uzyskać wszystko przed ostatnim". i robienie s [s.rfind (". ') + 1:], aby uzyskać wszystko po ostatniej kropce? – OriginalCliche