Alternatywą jest użycie partition(). Użycie jest podobne do ostatniego przykładu, z tą różnicą, że zwraca trzy składniki zamiast dwóch. Główną zaletą jest to, że ta metoda nie zawiedzie, jeśli ciąg nie zawiera separatora.
Gdy nie przekażesz żadnego parametru do metody split w Pythonie, w dokumentacji stwierdza się : „ciągi kolejnych białych znaków są traktowane jako pojedynczy separator, a wynik nie będzie zawierał pustych ciągów na początku lub na końcu, jeśli łańcuch ma początkowe lub końcowe białe znaki”.
Trzymajcie się czapek chłopcy, przeanalizujcie wyrażenie regularne:
Wyrażenie regularne „[am] +” oznacza, że małe litery ado mwystępujących raz lub więcej razy są dopasowywane jako separator. reto biblioteka do zaimportowania.
Lub jeśli chcesz zgniatać elementy pojedynczo:
el@apollo:~/foo$ python
>>> mystring ="theres coffee in that nebula">>> mytuple = mystring.partition(" ")>>>print type(mytuple)<type 'tuple'>>>>print mytuple
('theres',' ','coffee in that nebula')>>>print mytuple[0]
theres
>>>print mytuple[2]
coffee in that nebula
Jeśli zawsze będzie to równy podział LHS / RHS, możesz również użyć partitionmetody wbudowanej w łańcuchy. Zwraca 3-krotkę tak, (LHS, separator, RHS)jakby separator został znaleziony i (original_string, '', '')jeśli separator nie był obecny:
partition
metody łańcuchów, a następnie zaktualizuj swoje pytanie.Odpowiedzi:
"2.7.0_bf4fda703454".split("_")
podaje listę ciągów:To rozdziela strunę na każdym podkreśleniu. Jeśli chcesz, aby zatrzymał się po pierwszym podziale, użyj
"2.7.0_bf4fda703454".split("_", 1)
.Jeśli wiesz na pewno, że ciąg zawiera podkreślenie, możesz nawet rozpakować LHS i RHS na osobne zmienne:
Alternatywą jest użycie
partition()
. Użycie jest podobne do ostatniego przykładu, z tą różnicą, że zwraca trzy składniki zamiast dwóch. Główną zaletą jest to, że ta metoda nie zawiedzie, jeśli ciąg nie zawiera separatora.źródło
Przewodnik po analizowaniu ciągów znaków w języku Python
Podziel ciąg w przestrzeni, pobierz listę, pokaż jej typ, wydrukuj:
Jeśli obok siebie znajdują się dwa ograniczniki, zakłada się pusty ciąg:
Podziel ciąg na podkreśleniu i weź piątą pozycję na liście:
Zwiń wiele spacji w jedną
Gdy nie przekażesz żadnego parametru do metody split w Pythonie, w dokumentacji stwierdza się : „ciągi kolejnych białych znaków są traktowane jako pojedynczy separator, a wynik nie będzie zawierał pustych ciągów na początku lub na końcu, jeśli łańcuch ma początkowe lub końcowe białe znaki”.
Trzymajcie się czapek chłopcy, przeanalizujcie wyrażenie regularne:
Wyrażenie regularne „[am] +” oznacza, że małe litery
a
dom
występujących raz lub więcej razy są dopasowywane jako separator.re
to biblioteka do zaimportowania.Lub jeśli chcesz zgniatać elementy pojedynczo:
źródło
Jeśli zawsze będzie to równy podział LHS / RHS, możesz również użyć
partition
metody wbudowanej w łańcuchy. Zwraca 3-krotkę tak,(LHS, separator, RHS)
jakby separator został znaleziony i(original_string, '', '')
jeśli separator nie był obecny:źródło