Erwägen:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
Wie bekommen wir also das Zitat, aber nicht den Schrägstrich?
Und bitte schlagen Sie nicht vor r'what"ever'
, denn dann stellt sich die Frage, wie wir beide Arten von Zitaten aufnehmen.
Antworten:
Wenn Sie doppelte Anführungszeichen in Zeichenfolgen, aber keine einfachen Anführungszeichen verwenden möchten, können Sie stattdessen einfach einfache Anführungszeichen als Trennzeichen verwenden:
Wenn Sie beide Arten von Anführungszeichen in Ihrer Zeichenfolge benötigen, verwenden Sie eine Zeichenfolge in dreifachen Anführungszeichen:
Wenn Sie beide Arten von Zeichenfolgen in dreifachen Anführungszeichen in Ihre Zeichenfolge aufnehmen möchten (ein äußerst unwahrscheinlicher Fall), können Sie dies nicht tun, und Sie müssen nicht rohe Zeichenfolgen mit Escapezeichen verwenden.
quelle
r"raw string"
und C #@"@-quoted string"
und"""triple quotes"""
r'what"ever"
? Meinten Sier'what"ever'
?Python hat mehr als eine Möglichkeit, Zeichenfolgen zu erstellen. Mit der folgenden Zeichenfolgensyntax können Sie doppelte Anführungszeichen verwenden:
quelle
Wenn Sie eine Art von Anführungszeichen benötigen (einfach, doppelt und dreifach für beide), können Sie die Zeichenfolgen "kombinieren" (0):
Sie können auch (0) Rohzeichenfolgen mit Nicht-Rohzeichenfolgen "kombinieren":
(0): Tatsächlich verbindet der Python-Parser die Zeichenfolgen und erstellt nicht mehrere Zeichenfolgen. Wenn Sie den Operator "+" hinzufügen, werden mehrere Zeichenfolgen erstellt und kombiniert.
quelle
Egal, die Antwort sind rohe dreifach zitierte Zeichenfolgen:
quelle
Da ich über diese Antwort gestolpert bin und sie mir sehr geholfen hat, aber ich ein kleines syntaktisches Problem gefunden habe, hatte ich das Gefühl, ich sollte anderen mögliche Frustrationen ersparen. Die dreifach in Anführungszeichen gesetzte Zeichenfolge funktioniert für dieses Szenario wie beschrieben. Beachten Sie jedoch, dass, wenn das gewünschte Zeichen in der Zeichenfolge am Ende der Zeichenfolge selbst steht:
Bei der Ausführung wird ein Fehler angezeigt, da die Anführungszeichen "" "(4) in einer Zeile den Zeichenfolgenleser verwirren, da er denkt, dass er das Ende der Zeichenfolge bereits erreicht hat, und dann ein zufälliges" da draußen "findet. Sie können dies überprüfen durch Einfügen eines Leerzeichens in die 4 Anführungszeichen wie folgt: "" "" und es wird nicht den Fehler haben.
In diesem speziellen Fall müssen Sie entweder Folgendes verwenden:
oder verwenden Sie die oben beschriebene Methode, um mehrere Zeichenfolgen mit gemischten "und" zu erstellen und sie anschließend zu verketten.
quelle
Nur um neue Python f String-kompatible Funktionen aufzunehmen:
quelle
f"foo\"bar"
.Verwenden:
Verwenden Sie den Operator '+' und
dqote
undsquote
Variablen , um das zu erhalten, was Sie benötigen.Wenn ich möchte
sed -e s/",u'"/",'"/g -e s/^"u'"/"'"/
, können Sie Folgendes versuchen:quelle