Memorandum zum Löschen von Python-Strings

Überblick

Beim Löschen einer Zeichenkette in Python blieb ich ein wenig hängen, deshalb schrieb ich sie als Erinnerung Sie können sich beiläufig mit rstrip, lstrip wiederfinden.

Phänomen

Möglicherweise möchten Sie lstrip oder rstrip verwenden, wenn Sie Präfixe oder Suffixe in Dateinamen wie folgt entfernen:


fileName='test_Ausgabedatei_20191217_001.xlsx'
#Präfix entfernen
print(fileName.lstrip('test_'))
#Ausgabedatei_20191217_001.xlsx

#Suffix entfernen
print(fileName.rstrip('.xlsx'))
# test_Ausgabedatei_20191217_001


Als Ausgabeergebnis scheint es kein Problem zu geben, aber ein Problem tritt auf, wenn die Zeichenfolge wie folgt lautet.


fileName='test_est_Ausgabedatei_20191217_001xsls.xlsx'
#Präfix entfernen
print(fileName.lstrip('test_'))
#Ausgabedatei_20191217_001xsls.xlsx

#Suffix entfernen
print(fileName.rstrip('.xlsx'))
# test_est_Ausgabedatei_20191217_001

Ich möchte, dass nur "test_" oder ".xlsx" verschwindet, aber auch andere Zeichen sind verschwunden. Die Ursache ist, dass lstrip oder rstrip diejenige löscht, die mit der angegebenen Zeichenfolge übereinstimmt.

Wenn das Muster mit einem Präfix gelöscht wird, wird eines der Zeichen in test_ gelöscht. Wenn es sich um ein Suffix handelt, wird eines von ".xlsx" gelöscht.

Wenn Sie in einem solchen Fall das Präfix oder Suffix entfernen möchten Es scheint gut, "re" zu verwenden, um es mit einem regulären Ausdruck zu löschen. Im Fall des Beispiels

import re

fileName='test_Ausgabedatei_20191217_001.xlsx'
#Präfix entfernen
print(re.sub("^test_", "", fileName))
#Ausgabedatei_20191217_001.xlsx

#Suffix entfernen
print(re.sub(".xlsx$", "", fileName))
# test_Ausgabedatei_20191217_001

Sie können das Präfix oder Suffix fest entfernen.

Beispiele, die mit lstrip oder rstrip nicht funktionierten, funktionieren auch, wie unten gezeigt.

import re

fileName='test_est_Ausgabedatei_20191217_001xsls.xlsx'
#Präfix entfernen
print(re.sub("^test_", "", fileName))
# est_Ausgabedatei_20191217_001xsls.xlsx


#Suffix entfernen
print(re.sub(".xlsx$", "", fileName))
# test_est_Ausgabedatei_20191217_001xsls

Recommended Posts

Memorandum zum Löschen von Python-Strings
[Python] Ein Memorandum der schönen Suppe4
Dämonisiere einen Python-Prozess
Ein Memorandum zum Aufrufen von Python aus Common Lisp
Memorandum der Extraktion durch Python BS4-Anfrage
Hinweis zur Kernel-Kompilierung
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
[Python] Verwenden Sie eine Zeichenfolgenfolge
Ein kleines Memorandum von openpyxl
Ein Memorandum über den Python-Mock
Ein Memorandum zur Verwendung von eigen3
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Ein Memorandum, in dem ich über mein persönliches HEROKU & Python (Flask) gestolpert bin
Python> Aus einer mehrzeiligen Zeichenfolge anstelle einer Datei lesen> io.StringIO ()
Eine Aufzeichnung zum Patchen eines Python-Pakets
Eine gute Beschreibung der Python-Dekorateure
Eine kurze Zusammenfassung der Python-Sammlung
Anfänger Memorandum Python "isdigit" Bewegung
Erstellen Sie eine zufällige Zeichenfolge in Python
Ein Memorandum über den Inhalt der Abschlussumfrage
Memorandum des Python-Paketverwaltungstools ez_setup
Erstellen Sie eine Instanz einer vordefinierten Klasse aus einer Zeichenfolge in Python
Python-Memorandum
Format, wenn eine lange Zeichenfolge als Python-Argument übergeben wird
Python-Memorandum 2
Python-Memorandum
Python Memorandum
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 4)
Python-String
Python-Memorandum
Python-Memorandum
Ein Memorandum zum Erwerb der Grundprüfung für die Python3-Ingenieurzertifizierung
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Zeigen Sie eine Liste der Alphabete in Python 3 an
Hinweis zur Verwendung der Python-Eingabefunktion
Ein Memorandum über die Geschwindigkeit der Diagonalisierung beliebigen Grades
Erstellen Sie ein Beziehungsdiagramm von Python-Modulen
Memorandum von Python-Anfängern
# 5 [python3] Extrahiert Zeichen aus einer Zeichenfolge
Verbinde viel Python oder und und
Python-String-Vergleich / benutze 'Liste' und 'In' anstelle von '==' und 'oder'
Memorandum zu Djangos QueryDict
[Python] So invertieren Sie eine Zeichenfolge
[Python] Ruft eine Liste der Instanzvariablen ab
String-Konvertierung einer Liste mit Zahlen
[Python] [Meta] Ist der Python-Typ ein Typ?
Grundlegende Grammatik der Python3-Reihe (Zeichenkette)
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
Die Geschichte der Verarbeitung A von Blackjack (Python)
[Python] Nur eine Liste der Ordner abrufen
Ein Memorandum über Probleme beim Formatieren von Daten
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Python: Strings kombinieren
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion
Python-String-Format
Python-Grundmemorandum
Python String Slice