2010-11-01 27 views
5

Có thư viện nào ở đó giúp dễ so sánh "giống" của 2 chuỗi trong C# không? Điều tôi đang nghĩ là nếu bạn có các chuỗi,Thử nghiệm so sánh "giống hệt" chuỗi C#

"This is a test" // 100% 
"THIS IS A TEST" // 95% 
" This is a test" // 98% 
"This is" // 60% 
"Foobar" // 0% 
"this test is a" // 70% 

v.v ... Chúng sẽ được tính điểm so với chuỗi cơ sở.

+1

xác định sự giống nhau ... một chút cụ thể hơn, cách tiếp cận chung là http://en.wikipedia.org/wiki/Longest_common_subsequence_problem –

+7

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

+0

Khoảng cách Levenshtein đó thật thú vị . Tôi đặt "giống" trong dấu ngoặc kép bởi vì tôi không chắc chắn làm thế nào để xác định nó! Nó sẽ là một vấn đề thử nghiệm từng phương pháp để xem đó có tỷ lệ tấn công tốt nhất cho tình hình của tôi. – mike

Trả lời

3

Hãy xem Levenstein.

Khoảng cách Levenshtein là sự khác biệt giữa hai chuỗi. Tôi sử dụng nó trong một ứng dụng trình thu thập dữ liệu web để so sánh các phiên bản mới và cũ của một trang web. Nếu nó đã thay đổi đủ, tôi cập nhật nó trong cơ sở dữ liệu của tôi.

CodeProject có triển khai tại http://www.codeproject.com/KB/recipes/Levenshtein.aspx.

Các vấn đề liên quan