我试图弄清楚如何使用NSRegularExpression来查看“关闭”字符串与另一个字符串的匹配程度。我知道我可以创建一组子串并使用NSRange来查看每个子串。例如。
“up”,“to”,“a”,“point”匹配“up two a point”我可以匹配4中的3个 同样,“向上一点”与3匹配,“向上一点”与所有4匹配。
我希望使用正则表达式我可以概括模式匹配,这样我就可以使用“达到一个点”并将其与我在另一个字符串中找到的匹配,例如:
uptoapoint, 在一定程度上, 在一定程度上, 太点了, 等,获得“百分比”匹配。
不确定这是否可行,因此我的问题。感谢您提供任何帮助/建议。
答案 0 :(得分:4)
正则表达当然不是正确的工具。
请改为:
[string uppercaseString]
或[string lowercaseString]
Levenshtein距离(或编辑距离)是需要在/ {/ 1}中交换/删除/添加的字符的绝对数量为了将其变形为stringA
。
扩展笔记:这看起来并不像你有危险,但值得注意的是,虽然Levenshtein距离对于比较短弦非常方便,但它对于计算两者之间的距离并不是很有用。整个文件。大多数 Levenshtein距离的实现需要stringB
的内存空间(m和n是字符串的长度)。虽然有些实现能够将其减少到m*n
(afaik),但它们的运行时间仍然需要m+n
,这基本上相当于O(n*n)
。
答案 1 :(得分:1)