在某些字符后修剪python字符串

时间:2017-03-16 01:12:38

标签: python

我正在创建一个程序,我将字节转换为utf-16字符串。但是,有时候字符串会结束,因为有尾随0,我的字符串最终会像:“这是我的字符串x00\x00\x00"。我想在到达第一个\x00或{时修剪字符串{1}}表示尾随0。如何在python中执行此操作?

我的问题与注释中链接的另一个问题不重复,因为trim()不能完全正常工作。如果我有一个字符串“这是我的字符串x00你好x00\x00我想要”这是我的字符串“而修剪会返回”这是我的字符串你好“

2 个答案:

答案 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"