【发布时间】:2014-06-02 20:35:00
【问题描述】:
我需要在 Python 中使用或创建一个比较函数,也许它已经存在这样做的方法?
我需要将一个字符串与列表中的一个值进行比较,即使它有几个字符,我也需要进行匹配。我会举个例子让你明白我的意思。
示例 1:
列表中的值:Name: This is the title
搜索值:Name This is the title
示例 2:
列表中的值:Name and shortening m.m.
搜索值:Name and shortening m.m
如您所见,我要比较和需要匹配的值非常相似。搜索中的值是文件夹名称,因此它们有些不同,因为它们包含非法字符。
也许最简单的方法是在比较 \/:*?"<>| 和任何尾随点之前从字符串中删除不允许的字符。
关于比较字符串并获得匹配的最有效方法是什么?
编辑:这是一种丑陋的做法吗?
def Cleanup(Str):
Illegal = ['\\','/',':','*','?','"','<','>','|']
return ''.join([char for char in Str if char not in Illegal]).rstrip('.')
【问题讨论】:
-
也许你可以使用 difflib? stackoverflow.com/a/682398/182402
-
如果差异不规则就完美了