我是python的新手,我有这样的字符串:
s= 'HDCF\xc3\x82\xc2\xae FTAE\xc3\x82\xc2\xae Greater China'
我想删除字符串中的所有unicode文字,如下所示:
'\xc3\x82\xc2\xae'
我需要如下输出:
'HDFC FTAE Greater China'
有人能帮我吗?
谢谢
发布于 2018-08-06 20:02:33
如果您的目标是将字符串限制为与ASCII兼容的字符,则可以将其编码为ASCII并忽略不可编码的字符,然后再次对其进行解码:
x = 'HDCF\xc3\x82\xc2\xae FTAE\xc3\x82\xc2\xae Greater China'
print(x.encode("ascii", "ignore").decode("utf-8"))
生成HDCF FTAE Greater China
。
发布于 2018-08-06 20:18:04
您可以使用string.printable
函数过滤字符串,以检查是否可以打印字符:
import string
s= 'HDCF\xc3\x82\xc2\xae FTAE\xc3\x82\xc2\xae Greater China'
printable = set(string.printable)
s = "".join(filter(lambda c: c in printable, s))
print(s)
输出:
HDCF FTAE Greater China
参考this问题。
发布于 2018-08-06 20:11:25
或许能帮上忙,
s = 'HDCF\xc3\x82\xc2\xae FTAE\xc3\x82\xc2\xae Greater China'
d = ''.join([i for i in s if ord(i) < 127])
print(d)
# OUTPUT as: HDCF FTAE Greater China
https://stackoverflow.com/questions/51707067
复制相似问题