python - Python - 检测字符串中重音 HTML 转义的最佳方法?
问题描述
Python 有一些很好的库可以将 Unicode 重音字符转换为其最接近的 Ascii 字符,以及将代码点编码为其 Unicode 字符的库。
但是,有哪些选项可以检查字符串是否具有 unicode 代码点或 HTML 转义?例如,这个字符串:
Rialta te VeniceÇ
有Ç
,翻译成拉丁文大写字母 C。是否有一个 python 库可以检测字符串中的代码点/转义并输出 Unicode 等价物?
解决方案
我不太清楚你在问什么,但这是我最好的尝试:
Ç
是一个HTML 转义,您可以像这样取消转义:>>> s = 'Rialta te VeniceÇ' >>> import html >>> s2 = html.unescape(s); s2 'Rialta te VeniceÇ'
正如您所说,有一些用于规范化/删除重音的库:
>>> import unidecode >>> unidecode.unidecode(s2) 'Rialta te VeniceC'
您实际上不需要检查它是否具有 Unicode 代码点,因为此函数不会更改非重音字符。但是您仍然可以使用
s2.isascii()
.
所以完整的解决方案是使用unidecode.unidecode(html.unescape(s))
.
推荐阅读
- postgresql - HTTP 500 错误 Symfony/EasyAdmin 发生异常
- javascript - 在 div mouseenter 上查找数组元素的索引。这三种方法中哪个最好?
- java - 使用 Proguard 插件混淆 java jar
- snowflake-cloud-data-platform - 雪花 - 清除用户 - 提醒角色所有者用户长时间不活动
- javascript - 如何在 django 中显示来自 chartjs 视图的数据?
- kubernetes - 使用 HELM 在 AKS 中的声纳持久性
- nlp - 如何在变压器和火炬中使用句子 bert
- ios - SwiftUI - 无法在 iOS 15 中设置列表的背景颜色(适用于 iOS 14)
- javascript - Shopify 应用程序主题扩展 jQuery 不加载/不工作
- sql-server - 在 SQL Server 中是否可以创建具有唯一 ID 的表?