我有一个'utf-8'字符串,通常是这样的
'\ x99 \ xb3 ......'等等。
但是,可能存在格式错误的字节,如'\ x \ y'等。
我尝试使用像'\。\'这样的正则表达式,但它似乎无法正常工作。如何在utf8字符串中删除这些格式错误的字节?
答案 0 :(得分:1)
猜测您的输入为\x99\xb3\\x\\y\x99\\x\xb3
,然后删除所有\x\y
import re
p = re.compile(r'\\[a-z](?!\w)')
test_str = "\x99\xb3\\x\\y\x99\\x\xb3"
result = re.sub(p, "",test_str)
print test_str
print result
答案 1 :(得分:1)
我认为这里有几件事情要发生。我正在使用Kerwin的例子来猜测你的输入 - 但是放弃了双反斜杠,因为我没有推断出你将使用的是什么:\x99\xb3\x\y\x99\x\xb3
.
),然后是另一个你没有提供的文字。 / LI>
看看这是否能为您提供所期望的结果:(\\.)(?=\\)
您可以在https://regex101.com/r/eB8mH1/1在线查看(并修补)。