python - 如何在字符串匹配期间捕获所有特殊字符?
问题描述
在进行字符串匹配时,有什么方法可以捕获所有异常?例如,如果我有一个字符串,
print("red" =="red" )
# evaluates to True
然而,
print("Rεժ" == "red")
# evaluates to False
我想要的是能够捕获所有特殊情况,例如以下
print("Rεժ" == "red")
print("RêÐ" == "red")
被评估为True
。这样做的用例是能够进行某种文本过滤以捕获所有单词“red”。
解决方案
正如 Tomalak 和 Laurens Koppenol 在评论中回避的那样,这可能与其他涉及 UTF8 或带重音符号的 Unicode 字符的 SO 问题重复,但以下代码对我来说返回 true:
import unidecode
accented_string = u'RêÐ'
unaccented_string = unidecode.unidecode(accented_string)
print(unaccented_string.lower() == "red")
推荐阅读
- execution-time - ProcessPoolExecutor 在 windows 上比在 mac 上花费更多时间
- php - Laravel:如何将 API 的摄取和输出格式化为 ISO8601,但以 MySQL 格式存储?
- data-visualization - Vega-Lite / Altair:如何居中或裁剪欧洲地图?
- python - 如何在python webdriver中查找具有两个特定文本的元素
- python - Pandas - 从列表中的 dict 值映射列
- javascript - 发表评论并尝试喜欢它后,ajax 滞后并且无法立即工作
- python - pip3安装数据日志后导入模块
- reactjs - React Native:输入一个字母后搜索栏消失
- node.js - 如何丑化/缩小 NodeJS 应用程序
- javascript - 为网站显示一次推送通知