【问题标题】:Python compare strings from different languages [duplicate]Python比较来自不同语言的字符串[重复]
【发布时间】:2021-01-21 21:04:31
【问题描述】:

问题如下。

'Β'=='B'

Out[104]: False

为了清楚起见,第一个是希腊语“Β”,第二个是拉丁语“B”。

确定 python 将 False 作为输出是正确的,但出于我正在工作的脚本的目的,我需要将这些字符计为相同的字符。尝试了几种编码/解码操作,但仍然算作不同。有什么想法吗?

【问题讨论】:

  • python 怎么给你结果False 你能编辑你的问题,说你是怎么跑这条线的吗?
  • 它只是按您看到的那样输入。第一个“B”在我的键盘上用英文输入,然后切换到希腊键盘输入第二个“B”
  • 您是只检查字母,还是需要按字面翻译单词并检查匹配项?
  • 好的,那么你将不得不在你的程序中包含额外的逻辑,因为这两个有不同的 unicode 值,你不能改变你可以使用 if 语句来检查这种情况。
  • 我尝试比较车辆编号。希腊语存在于数据框列中。另一面来自 selenium 读取 html 表。这些是从带有拉丁字符的 selenium 中带来的。我可以改变 selenium 读取表格的方式吗?

标签: python string encoding nlp


【解决方案1】:

关注this other answer

data="UTF-8 DATA"
udata=data.decode("utf-8")
asciidata=udata.encode("ascii","ignore")

当您从 8 位编码转换为 7 位编码时,这会使您丢失数据(正如我引用的相同答案的评论所述),并且可能会起作用解决您的问题。

祝你好运!

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 2012-01-12
    • 2016-12-15
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    相关资源
    最近更新 更多