【问题标题】:Two strings are not matching?两个字符串不匹配?
【发布时间】:2019-12-01 07:58:45
【问题描述】:

我正在尝试 'Bacon' 和 'Ваcon' 字符串来比较但不匹配这些字符串。我必须做些什么来匹配这两个字符串

a = 'Bacon'
b = 'Ваcon'

if a==b:
    print('Match')
else:
   print('Not Match')

【问题讨论】:

标签: python-3.x


【解决方案1】:

a 由五个拉丁字符组成。

b 由两个恰好与拉丁字符“Ba”共享形状的西里尔字符和三个拉丁字符组成。

要匹配它们,您必须有一个“哪些字符看起来相似”的数据库(即confusablesSummary),并在比较之前替换冒名顶替者。

【讨论】:

  • 否 - 这超出了答案的范围。试着自己写吧,应该不会太难。如果您有特定问题,请发布问题。
【解决方案2】:

我确实看到ab 中的前两个字符不相同

我尝试打印 ab 中字符的 ord() 值。

这就是我得到的。

>>> a = 'Bacon'
>>> b = 'Ваcon'
>>> a==b
False
>>> for i in a:
...     print(ord(i))
... 
66
97
99
111
110
>>> for i in b:
...     print(ord(i))
... 
1042
1072
99
111
110
>>> 

【讨论】:

  • 它们不是 ASCII 值。 ASCII 最高只能达到1271042 for B 是 Unicode。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多