AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textvergleich ähnlich wie beyondcompare?

Ein Thema von Mavarik · begonnen am 23. Jan 2018 · letzter Beitrag vom 23. Jan 2018
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#1

Textvergleich ähnlich wie beyondcompare?

  Alt 23. Jan 2018, 13:00
Hallo Zusammen!

Vielleicht ha ja jemand eine Idee, eine keine Routine, einen Link oder einen Hinweis für einen Ansatz.

Gegeben sind zwei Listen von Texten, nennen wir diese Links und Rechts. Das in Links ein Text an 1. Stelle steht und in Rechts an 5. Stelle soll nicht interessieren. Es geht mir "nur" um fast gleiche Texte. Beispiel:

Links Rechts
Das ist Das ist
ein cooles Beispeil für ein cooles Beispiel für
eine kurze 
Erklärung. Erklärung.

Wie finde ich - am Besten - Teilunterschiede zwischen den zwei Strings? Also nicht mit zwei Pos-For-Schleifen und hunderten von Iterationen!

Mavarik
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#2

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:04
ist es EIN Textdokument, oder kommt das aus zwei Quellen ?
Stehen in einer Zeile immer die vergleichbaren Texte, oder kann das auch verschoben sein ?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:06
Mit der Suchmaschine meines Vertrauens finde ich für Phrasen wie "delphi text diff algorithm" eigentliche eine Menge. Beispielsweise TextDiff oder PascalDiff.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:08
ist es EIN Textdokument, oder kommt das aus zwei Quellen ?
Stehen in einer Zeile immer die vergleichbaren Texte, oder kann das auch verschoben sein ?
Zwei Quellen!
Verschoben ist nicht die Problemstellung...

AAA BBB CCC <> BBB CCC
AAA BBB CCC <> AAA BBB

AAA BBB CCC <> AXA BXB CXC

"Nur" so...
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:12
Mit der Suchmaschine meines Vertrauens finde ich für Phrasen wie "delphi text diff algorithm" eigentliche eine Menge. Beispielsweise TextDiff oder PascalDiff.
OMG - ja darauf hätte ich auch kommen können...

Danke schon mal... Ich glaube ich hole mir vor dem nächsten Posting erst neuen Kaffee...!

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:13
Ich glaube unterm Strich kommt du nicht um sowas drum rum:

Delphi-Quellcode:
for i:= 1 to Min(Length(leftStr), Length(rightStr)) do
begin
  if (leftStr[i] <> rightStr[i]) then
    charColor := clRed
end;

// Danach beim rightStr alle Zeichen hinter Length(leftStr) rot färben
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Textvergleich ähnlich wie bejondcompare?

  Alt 23. Jan 2018, 13:22
Ich glaube unterm Strich kommt du nicht um sowas drum rum:

Delphi-Quellcode:
for i:= 1 to Min(Length(leftStr), Length(rightStr)) do
begin
  if (leftStr[i] <> rightStr[i]) then
    charColor := clRed
end;

// Danach beim rightStr alle Zeichen hinter Length(leftStr) rot färben
Sorry, aber so einfach ist es nicht... Aber die Links vom "schöne Günther" sind schon genau richtig...
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#8

AW: Textvergleich ähnlich wie beyondcompare?

  Alt 23. Jan 2018, 13:39
Es gibt da so etliche Algorithmen:

SoundEx (müsste bei Delphi dabei sein)
Levenshtein
Donald E. Knuth (gab da mal 'ne Beschreibung in der Oracle-Doku 8.1.7)
Kölner Phonetik

Alle können Dir sagen, ob die Texte übereinstimmen oder den "Grad" der Ähnlichkeit.

Damit es "bunt" wird, kommst Du dann nicht drumherum, es in der Art, wie Neutral General beschrieb, "anzumalen".

Wikipedia: Levenshtein-Distanz
how do you implement levenshtein distance in delphi
Kölner Phonetik für PL/SQL
Oracle: Ähnlichkeitssuche: Die "Kölner Phonetik" in APEX
Bei Google suchenphonetische suche algorithmus
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Textvergleich ähnlich wie beyondcompare?

  Alt 23. Jan 2018, 14:38
..
Damit es "bunt" wird, kommst Du dann nicht drumherum, es in der Art, wie Neutral General beschrieb, "anzumalen".
Naja, gemäß Beispiel ist ein stumpfer "synchroner" Vergleich auf Zeichen an Stelle x ja nur die halbe Miete, es heißt ja wahrscheinlich nicht umsonst "beyond compare"

Im Beispiel

AAA BBB CCC <> BBB CCC
AAA BBB CCC <> AAA BBB

wäre ja sonst in Zeile 1 alles bunt.
Gruß, Jo
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#10

AW: Textvergleich ähnlich wie beyondcompare?

  Alt 23. Jan 2018, 14:45
@jobo
Deshalb ja auch: "in der Art, wie"
Heißt ja nicht: "Genauso"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz