gpt4 book ai didi

python - 使用 python/django 从字符串中删除非 ASCII 字符

转载 作者:太空狗 更新时间:2023-10-29 16:53:15 25 4
gpt4 key购买 nike

我有一个存储在数据库中的 HTML 字符串。不幸的是,它包含诸如 ® 之类的字符我想用它们的 HTML 等价物替换这些字符,无论是在数据库本身还是在我的 Python/Django 代码中使用 Find Replace。

关于我如何做到这一点有什么建议吗?

最佳答案

您可以使用 ASCII 字符是前 128 个字符,因此使用 ord 获取每个字符的编号,如果超出范围则将其删除

# -*- coding: utf-8 -*-

def strip_non_ascii(string):
''' Returns the string without non ASCII characters'''
stripped = (c for c in string if 0 < ord(c) < 127)
return ''.join(stripped)


test = u'éáé123456tgreáé@€'
print test
print strip_non_ascii(test)

结果

éáé123456tgreáé@€
123456tgre@

请注意包含了 @ 因为毕竟它是一个 ASCII 字符。如果你想去除一个特定的子集(比如数字和大小写字母),你可以限制查看 ASCII table 的范围

已编辑:再次阅读您的问题后,您可能需要转义您的 HTML 代码,以便所有这些字符在呈现后正确显示。您可以在模板上使用 escape 过滤器。

关于python - 使用 python/django 从字符串中删除非 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743070/

25 4 0
文章推荐: c - 如果我们增加函数指针会发生什么
文章推荐: angular - 为什么 Angular2(点击)事件没有在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com