Wie kann man die ersten x Zeichen aus einer Zeichenfolge entfernen? Wenn man zum Beispiel eine Zeichenfolge hätte lipsum, wie würden sie die ersten 3 Zeichen entfernen und ein Ergebnis von erhalten sum?
Besseres Beispiel, wenn die Anzahl der entfernten Zeichen nicht der Anzahl der verbleibenden Zeichen entspricht. zB"lipsumm"[3:] == "summ"
Scott Pelak
Antworten:
213
>>> text ='lipsum'>>> text[3:]'sum'
Weitere Informationen finden Sie in der offiziellen Dokumentation zu Zeichenfolgen. In dieser SO-Antwort finden Sie eine kurze Zusammenfassung der Notation.
Ein anderer Weg (abhängig von Ihren tatsächlichen Anforderungen): Wenn Sie die ersten n Zeichen einfügen und sowohl die angezeigten Zeichen als auch die geänderte Zeichenfolge speichern möchten :
s ='lipsum'
n =3
a, s = s[:n], s[n:]print(a)# lipprint(s)# sum
Beachten Sie, dass dies im Code länger ist und auch länger dauert, da Sie nach dem Teilstring suchen müssen, bevor Sie ihn ersetzen. Auch : >>> x = 'liplip'>>> x.replace(x[:3], '')''. Sicher, Sie könnten dies beheben, indem Sie den dritten Parameter (count) = 1 haben, aber es würde immer noch länger dauern.
Jamylak
Nein, es hängt mit deiner Antwort zusammen, also gehört es hierher. Sie können count = 1 zu Ihrem hinzufügen, so dass es übrigens noch funktioniert
jamylak
4
Verwenden Sie del.
Beispiel:
>>> text ='lipsum'>>> l = list(text)>>>del l[3:]>>>''.join(l)'sum'
Dies funktioniert nicht so, wie Sie denken würden, text = 'liplip'>>> text.lstrip(text[:3])''weil das chars-Argument kein Präfix ist. Vielmehr werden alle Kombinationen seiner Werte entfernt:str.lstrip([chars])
Jamylak
@ Jamylak Bearbeitet meine
U10-Forward
1
Keine der Lösungen funktioniert z. für 'liplip'. In der zweitenTypeError: 'str' object does not support item deletion
Jamylak
@jamylak Erneut bearbeitet
U10-Forward
@jamylak funktioniert es jetzt, wenn ja, müssen Sie abstimmen?
U10-Stürmer
2
Beispiel zur Anzeige der letzten 3 Ziffern der Kontonummer.
"lipsumm"[3:] == "summ"
Antworten:
Weitere Informationen finden Sie in der offiziellen Dokumentation zu Zeichenfolgen. In dieser SO-Antwort finden Sie eine kurze Zusammenfassung der Notation.
quelle
Ein anderer Weg (abhängig von Ihren tatsächlichen Anforderungen): Wenn Sie die ersten n Zeichen einfügen und sowohl die angezeigten Zeichen als auch die geänderte Zeichenfolge speichern möchten :
quelle
quelle
>>> x = 'liplip'
>>> x.replace(x[:3], '')
''
. Sicher, Sie könnten dies beheben, indem Sie den dritten Parameter (count) = 1 haben, aber es würde immer noch länger dauern.Verwenden Sie
del
.Beispiel:
quelle
text = 'liplip'
>>> text.lstrip(text[:3])
''
weil das chars-Argument kein Präfix ist. Vielmehr werden alle Kombinationen seiner Werte entfernt:str.lstrip([chars])
'liplip'
. In der zweitenTypeError: 'str' object does not support item deletion
Beispiel zur Anzeige der letzten 3 Ziffern der Kontonummer.
quelle
>>> x = '12345678901234567890'
>>> x.replace(x[:7], 'xxxxxxx')
'xxxxxxx890xxxxxxx890'
x
s, anstatt sie zu löschen