actionbrowser.com
Manchmal müssen wir Strings kürzen, weil diese von Leerzeichen oder Sonderzeichen eingerahmt sind, wofür uns Python mehrere einfache Herangehensweisen zur Verfügung stellt. Eine dieser ist unter anderem die Python strip Methode. 1. Die Python strip, lstrip & rstrip Methoden Python bietet zum Kürzen von Strings mehrere Variationen der Methode strip. Wenn man strip ohne Parameter aufruft, werden alle Leerzeichen am Anfang bzw. Ende des Strings entfernt. Im folgenden Beispiel ist eine Zeichenkette mit 3 Leerzeichen jeweils am Beginn und am Ende angegeben, welche mittels strip gekürzt wird. Python #28 - arbeiten mit Strings / Zeichenketten - Technik Blog. string = ' CodeCitrus ' print(len(string), string) # 16 CodeCitrus gekuerzt = () print(len(gekuerzt), gekuerzt) # 10 CodeCitrus Die beiden Variationen von strip, rstrip und lstrip entfernen jeweils Zeichen rechts bzw. links der Zeichenkette. links_gekuerzt = () print(len(links_gekuerzt), links_gekuerzt) # 13 CodeCitrus rechts_gekuerzt = () print(len(rechts_gekuerzt), rechts_gekuerzt) 2. Den characters-Parameter benutzen Mit dem optionalen Parameter characters (dt.
non-printable (6) Das Beste, was ich mir jetzt ausgedacht habe, ist (danke an die Python-izer oben) def filter_non_printable(str): return ''([c for c in str if ord(c) > 31 or ord(c) == 9]) Dies ist der einzige Weg, den ich herausgefunden habe, der mit Unicode-Zeichen / Strings arbeitet Irgendwelche besseren Möglichkeiten? Ich renne $s =~ s/[^[:print:]]//g; auf Perl, um nicht druckbare Zeichen loszuwerden. In Python gibt es keine POSIX-Regex-Klassen, und ich kann nicht [: print:] schreiben, was bedeutet, was ich will. Ich kenne keine Möglichkeit in Python festzustellen, ob ein Zeichen druckbar ist oder nicht. Was würden Sie tun? EDIT: Es muss auch Unicode-Zeichen unterstützen. Der intable Weg wird sie glücklich aus der Ausgabe entfernen. gibt false für jedes Unicode-Zeichen zurück.
In diesem Fall werden nur die Zeichen mit dem folgenden Index verwendet: a a + d, a + 2 * d und so weiter, bis das Zeichen mit dem Index b. Wenn der dritte Parameter gleich 2 ist, nimmt die Scheibe jedes zweite Zeichen, und wenn der Schritt der Scheibe gleich -1, gehen die Zeichen in umgekehrter Reihenfolge. Zum Beispiel können Sie eine Zeichenfolge wie S[::-1] umkehren: S[::-1]. Lass uns die Beispiele sehen: s = 'abcdefg' print(s[1]) print(s[-1]) print(s[1:3]) print(s[1:-1]) print(s[:3]) print(s[2:]) print(s[:-1]) print(s[::2]) print(s[1::2]) print(s[::-1]) Beachten Sie, dass der dritte Parameter des Slices dem dritten Parameter des Funktionsbereichs range() ähnelt: s = 'abcdefghijklm' print(s[0:10:2]) for i in range(0, 10, 2): print(i, s[i]) 6. String-Methoden: find () und rfind () Eine Methode ist eine Funktion, die an das Objekt gebunden ist. Wenn die Methode aufgerufen wird, wird die Methode auf das Objekt angewendet und führt einige Berechnungen durch. Methoden werden als thod_name(arguments) aufgerufen.