【问题标题】:How to catch all special characters during string matching? [duplicate]如何在字符串匹配期间捕获所有特殊字符? [复制]
【发布时间】:2019-08-26 10:41:46
【问题描述】:

有什么方法可以在进行字符串匹配时捕获所有异常?例如,如果我有一个字符串,

print("red" =="red" )
# evaluates to True

然而,

print("Rεժ" == "red")
# evaluates to False

我想要的是能够捕获所有特殊情况,例如以下

print("Rεժ" == "red")
print("RêÐ" == "red")

被评估为True。这样做的用例是能够进行某种文本过滤,以便能够捕获所有单词“red”。

【问题讨论】:

  • confusables 包正是这样做的,但是你的两个d 都不能被它识别:(

标签: python string unicode


【解决方案1】:

正如 Tomalak 和 Laurens Koppenol 在 cmets 中所逃避的,这可能与其他涉及 UTF8 或带有重音符号的 Unicode 字符的 SO 问题重复,但以下代码对我来说返回 true:

import unidecode

accented_string = u'RêÐ'
unaccented_string = unidecode.unidecode(accented_string)
print(unaccented_string.lower() == "red")

【讨论】:

    猜你喜欢
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2020-12-25
    • 2014-07-12
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    相关资源
    最近更新 更多