🧰 UtlKit

Duplikate Entfernen So Benutzen: Zeilen-Deduplizierung per Exakter Übereinstimmung mit dem Ersten Auftreten, im Browser

Ein Textblock, in Zeilen aufgeteilt und per exakter Übereinstimmung dedupliziert mit dem ersten Auftreten, plus eine grüne Zeilen-Entfernungszählung, alles im Browser berechnet.

Das Werkzeug Duplikate Entfernen nimmt einen Textblock, teilt ihn in Zeilen auf und löscht jede Zeile, die ein exaktes Wiederholen einer früheren Zeile ist, im Browser. Der Platzhalter zeigt das Arbeitsbeispiel: apple, banana, apple, cherry, banana, date. Du drückst den Knopf Remove Duplicates, und der Ergebnisblock gibt den deduplizierten Text in einem nur lesbaren Feld aus, mit einer grünen Zeile darüber, die Removed 2 duplicate(s) liest. Nichts wird irgendwo hingesendet: das Aufteilen, die Menge und das Verknüpfen laufen auf dem Gerät, und der Knopf Clear leert die Eingabe, die Ausgabe und die Zählung.

Was das Werkzeug nimmt und was es gibt

Die Eingabe ist ein einzelnes Textfeld, zehn Zeilen hoch und in der Höhe anpassbar, und es wird nichts weiter verlangt. Darüber gibt es einen Clear-Knopf, der alles zurücksetzt, und darunter einen Aktionsknopf, Remove Duplicates, also ist die Rechnung nicht live: Das Ergebnis ändert sich nur, wenn du ihn drückst. Die Ausgabe ist ein nur lesbares Textfeld der gleichen Höhe, und ein Kopier-Knopf sitzt neben seinem Result-Label, aber nur, wenn die Ausgabe nicht leer ist. Die grüne Zählzeile, Removed N duplicate(s), erscheint nur, wenn N über null ist, also zeigt eine Eingabe ohne Wiederholungen das Ergebnis und nichts weiter.

Wie die Deduplizierung abläuft

Die Eingabe wird an den Zeilenumbrüchen in ein Array von Zeilen geteilt, und die Zeilen werden in der Reihenfolge abgelaufen, mit einer Menge, die sich jede bereits behaltene Zeile merkt. Die erste Zeit, die eine Zeile gesehen wird, kommt sie in die Menge und in die Ausgabeliste; jedes Mal, wenn sie wieder gesehen wird, wird sie nur als Duplikat gezählt und weggeschmissen. Die behaltenen Zeilen werden mit Zeilenumbrüchen wieder verbunden, also ist die Ausgabe die Eingabe mit ihren Wiederholungen herausgeschnitten, in der Original-Reihenfolge des ersten Auftretens, nie neu sortiert. Für den Platzhalter, apple, banana, apple, cherry, banana, date, ist das Ergebnis apple, banana, cherry, date, mit 2 entfernt. Der Lauf ist ein Durchgang über die Zeilen, also wird eine Eingabe mit 100,000 Zeilen, von denen 50,000 eindeutig sind, in etwa 40 Millisekunden verarbeitet.

Was als dieselbe Zeile zählt

Zwei Zeilen sind dieselbe nur, wenn jedes Zeichen übereinstimmt, weil der Vergleich ein exakter String-Test ohne Normalisierung ist. Groß- und Kleinschreibung zählt, also sind A und a verschiedene Zeilen und beide bleiben. Leerzeichen zählen, also sind ein a mit einem Leerzeichen am Ende und ein a mit einem Leerzeichen am Anfang verschiedene Zeilen und beide bleiben. Akzente zählen, also sind café und cafe verschiedene Zeilen und beide bleiben. Leere Zeilen zählen auch als Zeilen: Eine Zeile, die leer ist, ist noch eine Zeile, und eine Zeile, die nur ein Leerzeichen ist, ist eine Leerzeichen-Zeile, also reduzieren zwei reine Leerzeichen-Zeilen auf eine. Wenn deine Wiederholungen sich durch eines dieser Dinge unterscheiden, sind sie für dieses Werkzeug keine Wiederholungen, und die Zählung bleibt bei null.

Was mit Zeilenumbrüchen und leeren Zeilen passiert

Das Aufteilen sieht nur das Zeilenumbruch-Zeichen, also bekommt eine Datei, die mit einem Zeilenumbruch endet, am Ende eine extra, leere, Zeile, und wie jeder erste Auftritt einer leeren Zeile bleibt sie: eine Eingabe aus a und b, jeweils auf eigener Zeile endend mit einem Zeilenumbruch, kommt unverändert zurück, mit 0 entfernt. Zwei aufeinanderfolgende leere Zeilen reduzieren auf eine, und eine Eingabe, die nur ein Zeilenumbruch ist, entfernt eine Zeile und gibt ein leeres Ergebnis aus, das trotzdem den Ergebnisblock zeigt, aber keinen Kopier-Knopf. Windows-Zeilenumbrüche sind die scharfe Kante: Das Aufteilen streicht den Wagenrücklauf nicht, also ist derselbe Text, aus einer Windows-Datei gelesen, eine andere Zeile als derselbe Text ohne ihn, und eine Kopie des Ergebnisses behält die Wagenrückläufe.

Wie die Entfernungszählung abgelesen wird

Die grüne Zeile zählt nur die Zeilen, die weggeschmissen wurden, nicht die, die behalten wurden. Vier identische Zeilen, x x x x, entfernen 3 und behalten 1; eine abwechselnde Eingabe, 1 2 1 2, entfernt 2 und behält 2; und eine Eingabe ohne exakte Wiederholungen zeigt nichts, weil die Zeile nur gerendert wird, wenn die Zählung über null ist. Die Zählung ist die Differenz zwischen der Zeilenzahl der Eingabe und der der Ausgabe, nichts weiter.

Wohin der Text geht

Nirgendwo vom Gerät weg. Der Wert des Textfeldes wird von der Seite gelesen, das Aufteilen, die Menge und das Verknüpfen laufen im Browser, und es findet keine Netzwerkanfrage statt. Es gibt kein Verzeichnis und kein gespeichertes Ergebnis: Der einzige Zustand sind die drei Werte, die die Seite hält, Eingabe, Ausgabe und Zählung, und Clear setzt alle drei auf leer und null zurück. Kopieren benutzt die Zwischenablage des Browsers, also verlässt der Text die Seite nur, wenn du Kopieren drückst und woanders einfügst.

Was es nicht ist

Das Werkzeug dedupliziert Zeilen, es normalisiert den Text nicht: um die Leerzeichen und leeren Zeilen vor dem Vergleich zu entfernen, die fast identische Zeilen unterschiedlich aussehen lassen, nutzt man vorher den Leerraum-Reiniger; um die behaltenen Zeilen danach alphabetisch zu sortieren, macht das das Werkzeug Zeilen Sortieren; und um zu zählen, wie oft jedes Wort vorkommt, statt jede Zeile, macht das der Wortfrequenz-Zähler. Für den Einstieg in ein Text-Werkzeug derselben Art sieh den Textumkehrer-Guide.

Zugehörige Tools

Häufige Fragen

Lädt das Werkzeug Duplikate Entfernen meinen Text auf einen Server hoch?

Nein. Das Textfeld wird von der Seite gelesen, und die einzige Rechnung ist der ein-malige Lauf über die Zeilen mit einer Menge von behaltenen Zeilen, also verlässt der Text das Gerät nie und es findet keine Netzwerkanfrage statt. Es gibt kein Verzeichnis und kein gespeichertes Ergebnis: Clear drücken oder den Tab neu laden leert die Eingabe, die Ausgabe und die Zählung.

Warum wurden meine doppelten Zeilen nicht entfernt?

Die Übereinstimmung ist exakt, zeichenweise, ohne Normalisierung. Eine Zeile, die sich durch einen Buchstaben der Groß-Klein-Schreibung, ein Leerzeichen am Rand, oder einen Akzent unterscheidet, ist eine andere Zeile, also bleiben A und a beide, und eine Zeile, die den Wagenrücklauf einer Windows-Datei trägt, ist nicht dieselbe Zeile wie derselbe Text ohne ihn. Die Zählung bleibt bei null, weil keine von ihnen ein exaktes Wiederholen einer früheren Zeile ist.

Werden leere Zeilen entfernt?

Leere Zeilen sind Zeilen, also werden sie wie jede andere Zeile dedupliziert: Die erste leere Zeile bleibt und jede spätere leere Zeile wird als Duplikat gezählt. Eine Eingabe, die nur ein Zeilenumbruch ist, entfernt eine Zeile, und der Ergebnisblock zeigt eine leere Ausgabe ohne Kopier-Knopf. Eine Datei, die mit einem Zeilenumbruch endet, behält diese letzte leere Zeile, weil sie das erste Auftreten einer leeren Zeile ist.

Was bedeutet die Entfernungszählung?

Sie ist die Anzahl der Zeilen, die weggeschmissen wurden, nicht die Anzahl, die behalten wurde, und sie wird nur gerendert, wenn sie über null ist. Vier identische Zeilen entfernen 3, ein abwechselndes Paar, 1 2 1 2, entfernt 2, und eine Eingabe ohne exakte Wiederholungen zeigt keine Zählzeile. Die Zählung ist die Differenz zwischen der Zeilenzahl der Eingabe und der der Ausgabe, nichts weiter.

Sortiert das Werkzeug das Ergebnis?

Nein. Die Ausgabe behält die Zeilen in der Reihenfolge, in der ihr erstes Auftreten in der Eingabe erschien, und darum sagt der Untertitel, dass er die Original-Reihenfolge bewahrt. Um die behaltenen Zeilen nach der Deduplizierung zu sortieren, führe das Ergebnis durch das Werkzeug Zeilen Sortieren.

Verwandte Artikel