Jak można usunąć pierwsze x znaków z łańcucha? Na przykład, gdyby ktoś miał łańcuch lipsum, w jaki sposób usunąłby pierwsze 3 znaki i uzyskałby wynik sum?
Inny sposób (w zależności od twoich rzeczywistych potrzeb): Jeśli chcesz wstawić pierwsze n znaków i zapisać zarówno wyskakujące znaki, jak i zmodyfikowany ciąg:
s ='lipsum'
n =3
a, s = s[:n], s[n:]print(a)# lipprint(s)# sum
Zauważ, że jest to dłuższe w kodzie i zajmie więcej czasu, ponieważ musisz wyszukać podłańcuch przed jego zastąpieniem. Również: >>> x = 'liplip'>>> x.replace(x[:3], '')''. Oczywiście możesz to naprawić, ustawiając trzeci parametr (liczba) = 1, ale i tak zajmie to więcej czasu.
jamylak
nie jest to związane z twoją odpowiedzią, więc należy tutaj. Możesz dodać count = 1 do swojego, aby nadal
działał
4
Użyj del.
Przykład:
>>> text ='lipsum'>>> l = list(text)>>>del l[3:]>>>''.join(l)'sum'
To nie działa tak, jak myślisz, text = 'liplip'>>> text.lstrip(text[:3])''ponieważ dla jednego Argument chars nie jest przedrostkiem; raczej wszystkie kombinacje jego wartości są usuwane:str.lstrip([chars])
jamylak
@jamylak Edited mine
U10-Forward
1
Żadne z rozwiązań nie działa np. dla 'liplip'. W drugimTypeError: 'str' object does not support item deletion
jamylak
@jamylak Edytowane ponownie
U10-Forward
@jamylak czy to działa, a jeśli tak, czy musisz głosować przeciw?
"lipsumm"[3:] == "summ"
Odpowiedzi:
Zobacz oficjalną dokumentację dotyczącą łańcuchów, aby uzyskać więcej informacji, oraz tę odpowiedź SO, aby uzyskać zwięzłe podsumowanie zapisu.
źródło
Inny sposób (w zależności od twoich rzeczywistych potrzeb): Jeśli chcesz wstawić pierwsze n znaków i zapisać zarówno wyskakujące znaki, jak i zmodyfikowany ciąg:
źródło
źródło
>>> x = 'liplip'
>>> x.replace(x[:3], '')
''
. Oczywiście możesz to naprawić, ustawiając trzeci parametr (liczba) = 1, ale i tak zajmie to więcej czasu.Użyj
del
.Przykład:
źródło
text = 'liplip'
>>> text.lstrip(text[:3])
''
ponieważ dla jednego Argument chars nie jest przedrostkiem; raczej wszystkie kombinacje jego wartości są usuwane:str.lstrip([chars])
'liplip'
. W drugimTypeError: 'str' object does not support item deletion
Przykład pokazania ostatnich 3 cyfr numeru konta.
źródło
>>> x = '12345678901234567890'
>>> x.replace(x[:7], 'xxxxxxx')
'xxxxxxx890xxxxxxx890'
x
s zamiast je usuwać