2017-06-17 1 views

Antwort

1

In Python (und häufig auch in anderen Programmiersprachen) wird der umgekehrte Schrägstrich verwendet, um Sonderzeichen zu bezeichnen, die nicht direkt in eine Zeichenfolge eingegeben werden konnten. Dies wird als Escape-Sequenz bezeichnet. Um einen Backslash angeben, verwenden Sie es zweimal:

user = 'corp\\adam'

+0

Dies funktioniert nicht. Ausgabe basierend auf Ihrem Vorschlag ist "corp \\ adam". Kannst du nach deinem Ende sehen? – GauravP

+0

@GauravP das * ist was du verlangst *. –

+0

Wenn Sie den Wert von 'user' direkt überprüfen (z. B. mit dem Python-Interpreter), wird er genauso ausgegeben wie er eingegeben wurde. Die tatsächliche Zeichenfolgendarstellung hat jedoch nur einen umgekehrten Schrägstrich: 'len ('\\') # gibt 1 zurück ' –

0

einen doppelten Schrägstrich Versuchen, das heißt corp \\ adam. Der erste umgekehrte Schrägstrich bedeutet, dass der zweite als normales Zeichen und nicht als weiteres Escape-Zeichen ausgewertet werden muss.

+0

Dies kann auch hilfreich sein: https://stackoverflow.com/questions/17327202/python-replace-single-backslash-with-double-backslash –

0

Sie können r'corp\adam' so verwenden, dass Sie Python sagen, dass es eine "rohe" Zeichenfolge ist und der umgekehrte Schrägstrich nicht verwendet wird, um anderen Zeichen zu entkommen.

Vom docs:

Both Zeichenfolge und Bytes Literale optional mit einem Buchstaben 'R' oder 'R' vorangestellt werden kann; Solche Strings werden als rohe Strings bezeichnet und Backslashes werden als Literalzeichen behandelt.

+0

r'corp \ adam 'ergibt output =' corp \\ adam '. Ich versuchte es einfach – GauravP

+0

@GauravP: Das liegt daran, dass Sie die 'repr' der Zeichenfolge ausgeben (wahrscheinlich geben Sie einfach den Namen der Variablen in den interaktiven Interpreter ein). Wenn Sie 'drucken (ausgeben) ', wäre der zusätzliche Backslash nicht vorhanden. – ShadowRanger

+0

@GauravP Das ist der Ausdruck der Zeichenfolge, nicht die Zeichenfolge selbst. Die Verwendung einer Raw-Zeichenfolge oder eines Doppel-Backslash ist die richtige Antwort –

0

Das Backslash-Zeichen fungiert als Escapezeichen, wenn das nächste Zeichen ein ASCII- oder Python-Sonderzeichen ist. Entweder die Flucht der Backslash mit einem anderen Backslash:

'corp\\adam' 

oder eine rohe Zeichenkette verwenden (wo Backslash nur die Anführungszeichen entgeht es nicht einmal selbst entkommt):

r'corp\adam' 
Verwandte Themen