Подтвердить что ты не робот

Нужна рутина для обнаружения строк, которые похожи, но не идентичны

У меня есть список строк, некоторые из которых были изменены с момента моего предыдущего выпуска. Некоторые из этих изменений тривиальны (расстояние, одно слово и т.д.). Я хотел бы обнаружить строки, которые имеют только "незначительные" различия, поэтому я могу попытаться использовать старые переводы, если это вообще возможно.

Что я подразумеваю под "незначительными различиями"? Я не буду знать, пока не начну работать с базой данных.

Вы знаете какие-либо настраиваемые подпрограммы, которые будут указывать, когда две строки похожи, но не идентичны? Любые подпрограммы, которые возвратят число, указывающее, как разные две строки?

4b9b3361

Ответ 1

Существует много таких алгоритмов. Ключевые слова соответствие нечеткой строки.

Хорошо известно, что расстояние Левенштейна. При этом вы можете рассчитать количество "изменений", необходимых для преобразования одной строки в другую, чтобы дать вам оценку того, насколько похожи строки.

Смотрите также этот вопрос: Как искать похожие слова для решений в Delphi.