2010-01-05 3 views
4

Мне было интересно, есть ли какие-либо бесплатные реализации сравнения строк, что говорит о разнице между двумя многострочными строками. Я ищу что-то вроде экрана сравнения Microsoft SourceSafe.Ищете метод, чтобы рассказать разницу между двумя строками

Что я хочу достичь, чтобы сравнить два html-сайта и получить обзор изменений.

(Прецедент будет сравнивать статическую HTML-страницу, чтобы узнать, есть ли какие-либо изменения, такие как объявления или новые загрузки. Мои университетские хосты отдельных страниц для каждого курса я посещаю.)

+0

Просьба пояснить: вы ищете diff библиотека для повторного использования в .NET или для автономной утилиты для разграничения текста? – STW

+1

Он пояснил в своем ответе, что он ищет библиотеку, а не автономный инструмент. – JMD

ответ

7

Он ищет библиотеку различий, а не инструмент сравнения.

Быстрый поиск по Google поворачивает вверх несколько:

+0

+1 Спасибо за отличные ссылки - для легкой интеграции с любыми.NET, я выберу Diff Match Patch от Google. –

+0

Я думаю, что это заставило меня начать. В противном случае вы услышите от меня;) – citronas

1

Вы ищете бесплатный инструмент «diff», например Diffuse?

EDIT: Первоначально у меня была записка о том, что это не связано с программированием, но я понял, что ошибся, перечитав ваш вопрос. Я думаю, вы хотите вытащить html и сделать diff в инструменте, который вы пишете. Если это -, что вы пытаетесь сделать, в отличие от ручного сравнения, то Diffuse не поможет вам, хотя проект - с открытым исходным кодом. Это может дать вам некоторые выводы.

+0

Да, что-то вроде Diffuse, но не автономное приложение, а не реализация .NET или, по крайней мере, оболочка .net. Почему этот вопрос не связан с программированием? Я бы запускал этот метод в службе, получал html-код через HttpRequest и генерировал электронные письма, если это изменения? – citronas

+0

Я отложил записку о том, что это не связано с программированием после того, как я перечитаю ваш вопрос. Я буду редактировать, чтобы это было ясно. :) – JMD

0

Если вы просто хотите знать, существуют ли различия: используйте алгоритм хэширования (crc, md5, sha) и проверьте, не изменилось ли значение.

То, что вы описываете, больше похоже на инструмент «diff» (хорошее слово поиска для этого), который визуально показывает вам различия в исходных файлах, но я сомневаюсь, что вам нужно, если для данной usecase. См. Выше.

Или проверить, если ваш университет на самом деле поддерживает кэширование в приличном пути и просто посмотреть на ответ ГОЛОВЫ Http на сайте вы интересуетесь.

+0

Ну, конечно, я мог бы посмотреть, есть ли изменения, если я сравню строки, чтобы сказать, есть ли различия. Но я предпочел бы разницу. Он не должен быть таким же визуальным, как SourceSafe или Diffuse, и небольшая структура данных, которую я могу форматировать для моего вывода, будет достаточной. – citronas

+0

Хорошо, так что настоящий взгляд на разницу, а не только чистый факт «что-то изменилось». Не из-за этого вопрос, извините. –

Смежные вопросы