Przejdź do głównej treści
LibraTool logoLibraTool

Porównanie tekstu za darmo

Porównaj dwa bloki tekstu i sprawdź dokładnie, co się zmieniło. Porównanie wiersz po wierszu z dodanymi, usuniętymi i niezmienionymi liniami.

Działa offline po wczytaniu
Kontekst:
+3 dodano−2 usunięto2 bez zmian
Różnice
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.

Typowe zastosowania

  • Porównaj Fragmenty KoduDokładnie znajdź, co się zmieniło między dwiema wersjami fragmentu kodu, konfiguracji lub skryptu.
  • Porównaj Szkice DokumentówZnajdź każdą zmianę między dwiema wersjami dokumentu, umowy lub artykułu — wiersz po wierszu.
  • Porównaj Dane i Pliki CSVZnajdź różnice między dwiema wersjami wyeksportowanych danych, CSV, dzienników lub konfiguracji.
  • Porównaj Wersje TłumaczeniaZobaczysz, co się zmieniło między dwiema wersjami przetłumaczonego dokumentu, pliku napisów lub ciągu lokalizacji.
  • Śledź Zmiany w Wersjach ZawartościPorównaj wersje oryginalne i edytowane artykułu, wpisu blog lub kopii marketingowej, aby przejrzeć, co się zmieniło.

Jak to działa

Porównywarka tekstów używa ręcznie napisanego algorytmu najdłuższego wspólnego podciągu (LCS), zaimplementowanego bezpośrednio w tym narzędziu — bez zewnętrznej biblioteki diff. Wszystko działa w przeglądarce; Twój tekst nigdy nie jest wysyłany na serwer.

  1. 1
    Tekst jest dzielony na wiersze
    Zawartość każdego pola tekstowego jest dzielona na znakach nowego wiersza na tablicę wierszy. Opcjonalna normalizacja (małe litery, zwijanie białych znaków) jest stosowana do kopii tych tablic przed porównaniem, a oryginały są zachowywane do wyświetlenia.
  2. 2
    Tabela LCS obliczana w Uint32Array
    Tabela programowania dynamicznego jest budowana od dołu w typowanej tablicy Uint32Array — O(m×n) zarówno czasowo, jak i pamięciowo. Dla danych, których łączna liczba komórek przekroczyłaby 4 miliony (około 16 MB), algorytm automatycznie przechodzi na mniej dokładne porównanie blokowe, aby strona pozostała responsywna.
  3. 3
    Wyróżnianie słów w zmienionych wierszach
    Gdy po usuniętym wierszu bezpośrednio następuje wstawiony, drugi przebieg LCS działa na tokenizowanych słowach tej pary (podzielonych na białych znakach). Daje to wyróżnione fragmenty pokazujące dokładnie, które słowa zmieniły się w wierszu, a nie tylko które wiersze.
  4. 4
    Widok unified diff ze zwijaniem kontekstu
    Lista operacji jest renderowana jako unified diff z prefiksami +/− i kolorami. Niezmienione wiersze poza konfigurowalnym oknem kontekstu (domyślnie 3 wiersze) są zwijane za wielokropkiem. Pełny wynik można skopiować do schowka lub pobrać jako plik zwykłego tekstu .txt.

Powiązane narzędzia

Często zadawane pytania