我正在创建一个程序,我将字节转换为utf-16字符串。但是,有时候字符串会结束,因为有尾随0,我的字符串最终会像:“这是我的字符串x00\x00\x00"
。我想在到达第一个\x00
或{时修剪字符串{1}}表示尾随0。如何在python中执行此操作?
我的问题与注释中链接的另一个问题不重复,因为trim()不能完全正常工作。如果我有一个字符串“这是我的字符串x00
你好x00\x00
我想要”这是我的字符串“而修剪会返回”这是我的字符串你好“
答案 0 :(得分:0)
使用strip()
功能可以消除一些您不想要的字符,例如:
a = 'This is my string \x00\x00\x00'
b = a.strip('\x00') # or you can use rstrip() to eliminate characters at the end of the string
print(b)
您将获得This is my string
作为输出。
答案 1 :(得分:0)
使用index('\x00')
获取第一个空字符的索引并将字符串切片到索引;
mystring = "This is my string\x00\x00\x00hi there\x00"
terminator = mystring.index('\x00')
print(mystring[:terminator])
# "This is my string"
您还可以对空字符split()
;
print(mystring.split(sep='\x00', maxsplit=1)[0])
# "This is my string"