2016-03-26 8 views
1

if "\x" in string: und if "\\x" in string: scheinen beide nicht korrekt zu funktionieren.Python - Wenn " x" in der Zeichenfolge?

Folgendes sollte zurückkehren True:

string="It\x(randomcharshere) me!" 
if "\\x" in string: 
    return True 

Ich kann nicht die Eingabezeichenfolge ändern, da ich ein Skript erstellt haben Daten von einer Website automatisch zu lesen, und es gibt manchmal \ x und dann einige zufällige Zeichen wenn in den abgerufenen Daten ein Sonderzeichen enthalten ist, wie ein Akzent.

+6

Nein sollte es nicht, weil '\ xa8s' eine Unicode-Zeichenfolge (' ¿') ist. Der ursprüngliche String enthält nicht tatsächlich '\ x' darin. – Selcuk

+0

'isinstance (string, unicode)' sagt Ihnen, ob 'string' Unicode enthält. – mshsayem

+0

@Selcuk Also gibt es keinen Weg, ohne hart codieren alle möglichen nicht-sicher-was-zu-Anruf-es ist? Ich werde eine Liste von Zeichenfolgen wie "\ xe2" und "\ xa8" erstellen müssen, um zu testen? –

Antwort

1
string="It\xa8s me!" 

Hier \ XA8 für ¨ steht. Also während der Suche \ x in Zeichenfolge gibt es nichts zurück.

Versuchen Sie dies in Python-Konsole.

1

„\ x“ in einem Python-String ist ein Escape-Zeichen, was sie tut, ist, dass es den Python-Parser erzählt, dass die nächsten zwei Zeichen sollten als Hex interpretiert werden und mit dem entsprechenden Byte ersetzt werden.

Zur Ausführungszeit existieren die Escape-Zeichen nicht mehr im Speicher. Zur Ausführungszeit enthält die Zeichenfolge das Escape-Zeichen anstelle der Escape-Sequenz.

Wenn Sie die Escape-Sequenz im Speicher behalten möchten, müssen Sie die Escape-Sequenz, d. H. string="It\\xa8s me!", umgehen oder die Zeichenfolge aus einer externen Datei lesen, die nicht vom Python-Parser analysiert wird.

+0

Ich kann die Eingabezeichenfolge nicht ändern, da ich ein Skript zum automatischen Lesen von Daten von einer Website erstelle und manchmal \ x und dann einige zufällige Zeichen zurückgibt. –

+0

@TrivisionZero Wie erstellen Sie ein Skript? – ventik

+0

@GaaraofDesert Was meinst du? –

Verwandte Themen