Listen und Text vergleichen
Vergleiche zwei Listen Zeile für Zeile: finde, was in beiden, nur in einer oder in einer von beiden steht, oder sieh einen markierten Zeilenvergleich nebeneinander.
Codebeispiele
Kopieren Sie diese Beispiele in Ihr eigenes Projekt. Sie verwenden nur die Standardbibliothek der Sprache, es muss also nichts installiert werden.
const a = ['a', 'b', 'c', 'b']
const b = ['b', 'd']
const exclude = new Set(b)
console.log([...new Set(a)].filter((line) => !exclude.has(line)).join('\n'))Was es tut
Vergleicht zwei Listen Zeile für Zeile. Als Mengen: jede Zeile einmal (Vereinigung), die Zeilen in beiden Listen (Schnitt), die Zeilen nur in A oder nur in B und die Zeilen in genau einer der beiden. Als Text: ein Zeilen-Diff, der jede Zeile als unverändert, entfernt oder hinzugefügt markiert, vereint oder nebeneinander.
So benutzt du es
- Tippe oder füge ein Element pro Zeile in Liste A und Liste B ein. Eine Textdatei lässt sich in Liste A ziehen.
- Wähle eine Operation. Schalte unter Mehr Groß-/Kleinschreibung beachten aus, damit
Apfelundapfelgleich zählen, oder Leerraum um Zeilen ignorieren ein, damit ein Leerzeichen am Ende eine Zeile nicht unterscheidet. Das Ergebnis behält die Zeilen, wie du sie getippt hast. - Kopiere oder lade das Ergebnis herunter. Leere Zeilen entfernen entfernt zuerst leere Zeilen aus beiden Listen.
Beispiele
Mit Liste A mit a, b, c, d und Liste B mit b, c:
A − B ergibt a und d, A ∩ B ergibt b und c, und der Zeilen-Diff markiert a und d als aus A entfernt.
Gut zu wissen
- Mengenoperationen ignorieren die Reihenfolge der Zeilen und liefern jede Zeile einmal, in der Reihenfolge des ersten Auftretens.
- Ein Zeilen-Diff vergleicht die Listen von oben nach unten, eine verschobene Zeile erscheint also an einer Stelle als entfernt und an anderer als hinzugefügt.
- In der Ansicht nebeneinander teilen geänderte Zeilen eine Reihe; eine Zeile ohne Partner hat eine leere Seite.
- Zeilen, die sich nur in dem unterscheiden, was du ignorierst, gelten als gleich und werden wie in Liste B gezeigt.
Was bedeuten die Operationen?
A ∪ B listet jede Zeile, die in einer der beiden Listen steht, einmal. A ∩ B behält die Zeilen in beiden. A − B behält die Zeilen nur in A und B − A die Zeilen nur in B. Die letzte Mengenoperation behält die Zeilen, die in genau einer Liste stehen. Jedes Ergebnis ist frei von Wiederholungen und bleibt in der Reihenfolge des ersten Auftretens.
Häufige Fragen
Was ist der Unterschied zwischen einer Mengenoperation und einem Zeilen-Diff?
Eine Mengenoperation vergleicht die Listen als Sammlungen, die Reihenfolge der Zeilen spielt also keine Rolle. Ein Zeilen-Diff vergleicht sie als Text von oben nach unten und markiert jede Zeile als unverändert, entfernt oder hinzugefügt, wie bei einem Code-Review.
Kann ich Groß-/Kleinschreibung und Leerzeichen ignorieren?
Ja. Schalte unter Mehr die Beachtung der Groß-/Kleinschreibung aus und das Ignorieren von Leerraum um Zeilen ein. Zeilen, die sich nur so unterscheiden, gelten als gleich, und das Ergebnis behält sie, wie du sie getippt hast.
Sendet dieses Werkzeug meine Listen irgendwohin?
Nein. Alles passiert in deinem Browser. Was du eingibst, wird nie an unsere Server gesendet.