So verwenden Sie Python Raw String

Einführung

Sie können in Python einen Rohstring erstellen, indem Sie eine Zeichenkette mit r oder R präfixieren. Ein Python-Rohstring behandelt das Backslash-Zeichen (\) als Literal. Rohstring ist nützlich, wenn eine Zeichenkette ein Backslash enthalten muss, beispielsweise für einen regulären Ausdruck oder einen Windows-Verzeichnispfad, und Sie möchten nicht, dass es als Escape-Zeichen behandelt wird. Dieser Artikel behandelt die Grundlagen der Funktionsweise von Python-Rohzeichenketten und bietet einige häufige Beispiele dafür, wie Rohzeichenketten verwendet werden können, um Sonderzeichen in Zeichenketten einzufügen.

Die Beispiele in diesem Artikel verwenden die Python-Interaktive Konsole in der Befehlszeile, um verschiedene Szenarien mit Rohzeichenketten zu demonstrieren.

Einfügen eines Zeilenumbruchs in einer Zeichenkette mit Rohzeichenkette

Dieses Beispiel verwendet eine Zeichenkette mit dem Wert: Hi\nHello. Wenn Sie versuchen, diesen Wert einer normalen Zeichenkette zuzuweisen, erstellt das Zeichen für den Zeilenumbruch (\n) eine neue Zeile:

  1. s = 'Hi\nHello'

Drucken Sie die Zeichenkette:

  1. print(s)

Die Ausgabe lautet:

Hi
Hello

Die Ausgabe zeigt, dass das Zeichen für den Zeilenumbruch zu einer neuen Zeile führt.

Um das Zeichen für einen Zeilenumbruch in den String einzubeziehen, verwenden Sie das Präfix r oder R, um einen Rohstring zu erstellen:

  1. raw_s = r'Hi\nHello'

Drucken Sie den String:

  1. print(raw_s)

Die Ausgabe lautet:

Hi\nHello

Die Ausgabe enthält das Zeichen für einen Zeilenumbruch.

Einschließen von doppelten Backslash-Zeichen in einem String mithilfe von Rohstrings

Wenn Sie versuchen, doppelte Backslash-Zeichen, wie beispielsweise für einen Hostnamenpfad, in einem normalen String einzuschließen, wird das erste Backslash-Zeichen nicht gedruckt, da der Compiler das Backslash als Fluchtzeichen betrachtet.

Zum Beispiel, erstellen Sie einen String, der einen Pfad enthält:

  1. s = '\\examplehost\digitalocean\content\'

Drucken Sie den String:

  1. print(s)

Die Ausgabe lautet:

\examplehost\digitalocean\content\

Die Ausgabe zeigt, dass das erste Backslash-Zeichen nicht im String enthalten ist.

Um beide Backslash-Zeichen in den String einzubeziehen, verwenden Sie das Präfix r oder R, um einen Rohstring zu erstellen:

  1. s = r'\\examplehost\digitalocean\content\'

Drucken Sie den String:

  1. print(s)

Die Ausgabe lautet:

\\examplehost\digitalocean\content\

Die Ausgabe enthält beide Backslash-Zeichen.

Fehlerbehebung für Anführungszeichen und Backslash-Zeichen in Rohzeichenfolgen

In einer Rohzeichenfolge können Anführungszeichen weiterhin mit einem einzelnen Backslash-Zeichen maskiert werden, jedoch bleibt das Backslash-Zeichen in der resultierenden Rohzeichenfolge erhalten.

Zusätzlich kann eine Rohzeichenfolge nicht mit einer ungeraden Anzahl von Backslash-Zeichen enden. Aufgrund dieses Merkmals können Sie keine Rohzeichenfolge erstellen, die ein einzelnes Backslash-Zeichen enthält, daher ist r"/" eine ungültige Zeichenfolge.

Beispiele für ungültige Rohzeichenfolgen

In diesem Beispiel fehlt das abschließende Anführungszeichen in der Ausgabe, da es durch das Backslash-Zeichen maskiert wird und einen unbeendeten Zeichenkettenliteral-Fehler verursacht:

r'\'

In diesem Beispiel werden die ersten beiden Backslash-Zeichen sich gegenseitig maskieren, und das dritte wird versuchen, das abschließende Anführungszeichen zu maskieren, was zu einem unbeendeten Zeichenkettenliteral-Fehler führt:

r'ab\\\'

Gültige Beispiele für Rohzeichenfolgen

Hier sind einige Beispiele für gültige Rohzeichenketten, die Anführungszeichen und Backslash-Zeichen enthalten.

Erstellen Sie eine Rohzeichenkette, die Anführungszeichen escapet:

  1. s = r"\"\""

Drucken Sie die Zeichenkette:

  1. print(s)

Die Ausgabe lautet:

\"\"

Die Ausgabe zeigt, dass die Backslash-Zeichen die Anführungszeichen escapen, sodass die Zeichenkette nicht beendet wird, aber die Backslash-Zeichen im Ergebnis bleiben.

Erstellen Sie eine Rohzeichenkette mit einer geraden Anzahl von Backslash-Zeichen:

  1. s = R'ab\\'

Drucken Sie die Zeichenkette:

  1. print(s)

Die Ausgabe lautet:

ab\\

Die Ausgabe zeigt, dass die gerade Anzahl von Backslash-Zeichen in die Ergebniszeichenkette einbezogen wird.

Abschluss

In diesem Artikel haben Sie die Grundlagen von Rohzeichenketten in Python gelernt. Setzen Sie Ihr Lernen über Python-Zeichenketten fort.

Source:
https://www.digitalocean.com/community/tutorials/python-raw-string