python:从字符串中删除多余的字节

python:从字符串中删除多余的字节,python,Python,我有一个在线抓取的字符串,看起来像这样: “trackingId”:“f©9\u0004+L\u001A&\u0013i+T”},{“PendingVitation”:false 如何从字符串中删除多余的字节、、和。您可以使用regex: import re s = '"trackingId":"f<0x85>©9\u0004+L<0x9b><0x91>\u001A<0x87>&\u0013i+T"},{"pendingInvitatio

我有一个在线抓取的字符串,看起来像这样:

“trackingId”:“f©9\u0004+L\u001A&\u0013i+T”},{“PendingVitation”:false


如何从字符串中删除多余的字节

您可以使用
regex

import re

s = '"trackingId":"f<0x85>©9\u0004+L<0x9b><0x91>\u001A<0x87>&\u0013i+T"},{"pendingInvitation":false'
print(s)
print(re.sub(r'<0x\w{2}>', '',s))
重新导入
s=““trackingId”:“f©9\u0004+L\u001A&\u0013i+T”},{“PendingVitation”:false”
印刷品
印刷品(关于子条款(r''、''、s))
输出:

"trackingId":"f<0x85>©9+L<0x9b><0x91><0x87>&i+T"},{"pendingInvitation":false
"trackingId":"f©9+L&i+T"},{"pendingInvitation":false
“trackingId”:“f©9+L&i+T”},{“PendingVitation”:false
“trackingId:“f©9+L&i+T”},{“PendingVitation”:false

我已经搜索了模式
,其中
\uuuu
是长度为2的任何字符或数字。

您可以使用
regex

import re

s = '"trackingId":"f<0x85>©9\u0004+L<0x9b><0x91>\u001A<0x87>&\u0013i+T"},{"pendingInvitation":false'
print(s)
print(re.sub(r'<0x\w{2}>', '',s))
重新导入
s=““trackingId”:“f©9\u0004+L\u001A&\u0013i+T”},{“PendingVitation”:false”
印刷品
印刷品(关于子条款(r''、''、s))
输出:

"trackingId":"f<0x85>©9+L<0x9b><0x91><0x87>&i+T"},{"pendingInvitation":false
"trackingId":"f©9+L&i+T"},{"pendingInvitation":false
“trackingId”:“f©9+L&i+T”},{“PendingVitation”:false
“trackingId:“f©9+L&i+T”},{“PendingVitation”:false

我已经搜索了模式
,其中
\uuuuu
是长度为2的任何字符或数字。

是的,但字节实际上不是字符串。我想你有
和实际字符串中的字符串。你可以过滤掉不适合编码的字节。例如in,但如果不是,我不确定我是否理解你的问题。是的,但字节实际上不是字符串。我以为你有
以及实际字符串中的字符串。你可以筛选出不符合编码的字节。例如,在,但如果不是这样,我不确定我是否理解你的问题。你可以对所有不需要的字节使用“黑名单”(
不需要的=(b“”,…)
)和一个用于筛选的生成器表达式:
”。join(b表示bytestring中的bs,如果b不是多余的)
这就是字符串
'
?如果我看一下你问题的来源,我会看到很多有趣的字符。请将实际字符串作为代码(例如,
repr(你的字符串)的输出)
),不是引用的文本。此外,这看起来不太可能是跟踪ID字符串,除非它是二进制的,并且您弄乱了编码。您可以对所有不需要的字节使用“黑名单”(
不需要的=(b“”,…)
)和用于筛选的生成器表达式:
“”。join(如果b不需要,则b代表bytestring中的bs)
这是字符串的字面意思吗?”?如果我看一下你问题的来源,我会看到很多有趣的字符。请将实际字符串作为代码包含在内(例如,
repr(你的字符串)
),而不是引用的文本。此外,这看起来不太可能是跟踪ID字符串,除非它是二进制的,并且您弄乱了编码。