2017-11-09 3 views
-2

Ich habe eine Zeichenfolge b'helloworld\n'. Ich möchte helloworld daraus extrahieren. Dazu mache ichWie extrahiere ich substring von einem 'binary string' in python3

print(string[1:-2])

Aber am Ausgang bin ich b'elloworl' bekommen.

Wie kann ich helloworld hinzufügen.

Dank

+0

versuchen 'string [0: 1]'. – Ho0ony

+0

@ Ho0ony Die Ausgabe ist 'b'helloworld'' –

+0

' b' vor der Zeichenfolge ist ein String-Literal, was bedeutet, String wäre von Bytes Typ anstelle von 'str' Typ und nicht Auswirkungen wörtliche Bedeutung der Zeichenfolge. Weitere Informationen finden Sie unter https://docs.python.org/3.3/reference/lexical_analysis.html#string-literals. – apsdehal

Antwort

0

Von this link, binäre Zeichenfolge in den normalen Zeichenfolge Verwendung zu ändern diese:

>>> b'helloworld\n'.decode('ascii') # you can use utf8 or something else, it is up to you 
'helloworld\n' 

Um Whitespaces strip() verwenden zu löschen:

>>> b'helloworld\n'.decode('ascii').strip() 
'helloworld' 
1
print(s[0:-1]) 

Indizes Null basieren, so dass die h bei Index Null ist. Der Endindex ist nicht inklusive, also geh ein Extra.

Wenn Sie das b loswerden wollen, müssen Sie das Byte-Objekt dekodieren.

print(s.decode('utf-8')[0:-1])