2010-02-18 16 views
14

¿Tiene C# su propia biblioteca para la coincidencia Fuzzy (búsqueda difusa) o un método que se puede usar directamente de las bibliotecas .net?Coincidencia difusa en C#

+0

Se podría utilizar una expresión regular. –

+16

Las expresiones regulares no son muy difusas – SwDevMan81

+0

Similares/duplicadas de http://stackoverflow.com/questions/53480/fuzzy-text-sentences-titles-matching-in-c AND http://stackoverflow.com/questions/83777/are -there-any-fuzzy-search-o-string-similarity-functions-libraries-written-for-c – jjxtra

Respuesta

3

versiones actuales no lo tienen construido en

que he visto y utilizado Soundex (un método para. aproximación difusa) operaciones en el pasado. Aquí hay un artículo sobre cómo implementar Soundex en .Net.

http://www.codeproject.com/KB/aspnet/Soundex.aspx

+1

Soundex da resultados bastante horribles en comparación con Levenshtein. –

+0

Gracias. He marcado esto porque quiero probar el Levenshtein la próxima vez que necesito esa lógica. – David

11
No

una biblioteca, pero echa un vistazo a la Levenshtein algoritmo de distancia de edición:

http://en.wikipedia.org/wiki/Levenshtein_distance

Es bien conocida y establecida y excelente para el texto coincidencia aproximada. Hay muchos otros ejemplos por ahí además del enlace que he proporcionado en caso de que no le conviene: Google Search

+0

Sé que Levenshtein edita el algoritmo de distancia y ya lo usé, pero me pregunto si .net tiene uno. – Eyla

+1

No integrado. De todos modos, no es como de 3.5. Aunque es bastante trivial para implementar como es. ¿Por qué no solo reutilizar lo que ya sabes? Por cierto. Puede agregarlo como método de extensión y hacer que se sienta como una función de biblioteca .Net. ;-) –

Cuestiones relacionadas