您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

你可以使用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表

编辑:再次阅读问题后,也许你需要转义HTML代码,因此一旦渲染,所有这些字符都会正确显示。你可以escape在模板上使用过滤器。

python 2022/1/1 18:19:49 有570人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶