I have a string b'helloworld\n'. I want to extract helloworld from it. For this, I am doing
print(string[1:-2])
But on output I am getting b'elloworl'.
How can I extraxt helloworld.
Thanks
2 Answers 2
print(s[0:-1])
Indexes are zero based so the h is at index zero. The ending index is non-inclusive, so go one extra.
If you want to get rid of the b you have to decode the bytes object.
print(s.decode('utf-8')[0:-1])
Sign up to request clarification or add additional context in comments.
Comments
From this link, to change binary string to normal string use this:
>>> b'helloworld\n'.decode('ascii') # you can use utf8 or something else, it is up to you
'helloworld\n'
To delete whitespaces use strip():
>>> b'helloworld\n'.decode('ascii').strip()
'helloworld'
answered Nov 9, 2017 at 6:56
Alperen
4,8825 gold badges32 silver badges54 bronze badges
Comments
lang-py
string[0:-1].b'helloworld'bin front of string is a string literal which means string would of bytes type instead ofstrtype and don't impact literal meaning of the string. See docs.python.org/3.3/reference/… for more info.string.decode("utf-8")