首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除字符串python中的utf-8文字

删除字符串python中的utf-8文字
EN

Stack Overflow用户
提问于 2018-08-06 19:55:30
回答 3查看 4.8K关注 0票数 2

我是python的新手,我有这样的字符串:

代码语言:javascript
复制
s= 'HDCF\xc3\x82\xc2\xae FTAE\xc3\x82\xc2\xae Greater China'

我想删除字符串中的所有unicode文字,如下所示:

代码语言:javascript
复制
'\xc3\x82\xc2\xae'

我需要如下输出:

代码语言:javascript
复制
'HDFC FTAE Greater China'

有人能帮我吗?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-08-06 20:02:33

如果您的目标是将字符串限制为与ASCII兼容的字符,则可以将其编码为ASCII并忽略不可编码的字符,然后再次对其进行解码:

代码语言:javascript
复制
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

查看str.encode()bytes.decode()

票数 3
EN

Stack Overflow用户

发布于 2018-08-06 20:18:04

您可以使用string.printable函数过滤字符串,以检查是否可以打印字符:

代码语言:javascript
复制
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)

输出:

代码语言:javascript
复制
HDCF FTAE Greater China

参考this问题。

票数 2
EN

Stack Overflow用户

发布于 2018-08-06 20:11:25

或许能帮上忙,

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51707067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档