c# - 如何衡量两个字符串之间的相似度?

标签 c# string comparison phonetics

<分区>

给定两个字符串 text1text2:

public SOMEUSABLERETURNTYPE Compare(string text1, string text2)
{
     // DO SOMETHING HERE TO COMPARE
}

例子:

  1. 第一个字符串:StackOverflow

    第二个字符串:StaqOverflow

    返回:相似度为91%

    返回可以是 % 或类似的东西。

  2. 第一个字符串:简单文本测试

    第二个字符串:复杂文本测试

    返回:值可以认为是相等的

有什么想法吗?执行此操作的最佳方法是什么?

最佳答案

有多种不同的方法可以做到这一点。看看 Wikipedia "String similarity measures" page使用算法链接到其他页面。

我不认为这些算法中的任何一个都考虑了声音,但是 - 所以“staq overflow”将与“staw overflow”一样类似于“staw overflow”,尽管第一个更发音相似。

我刚找到 another page这提供了更多的选择...特别是 Soundex算法 ( Wikipedia) 可能更接近您所追求的。

关于c# - 如何衡量两个字符串之间的相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1034622/

相关文章:

c# - 在没有关键条件表达式的情况下在 DynamoDb 中查询

c# - Delegate.Combine 和 lambda 表达式

vb.net - 将字符串转换为十进制,然后再转换回十进制

Java 将单个字符与字符数组进行比较

php - 在 PHP 中如何最好地与 0 进行比较?

c# - DotnetCore 1.0.x 中的 TcpListener.BeginAcceptTcpClient I/O 模型是什么

c# - 在 foreach 循环中动态显示按钮

java - 根据其自然顺序获取下一个字符串

r - 尝试获取 R 中的商作为数字对象

r - 库 "TableOne"多重比较。逐行计算 p 值