Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-03-2008, 23:02   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 116
Strings vergleichen / Text abgleichen für Actionscript 1

Hallo Leute.

Hab schon gesucht, aber nichts Zufriedenstellendes zu dem Thema gefunden. Sollte ich was übersehen haben, bitte nicht schlachten.

Ich suche nach einer Funktion, mit der ich zwei Strings miteinander vergleichen kann und die Unterschiede ausgeben lassen kann. Im Grunde so, wie wenn ich einen Text A habe

"Heute ist ein schöner Tag"

und einen Text B

"Heute ist ein schnöder Tag"

... dass die Funktion dann 2 Unterschiede feststellt, nämlich das n und der d in schNöDer.

Für Actionscript 3 scheint es sowas zu geben (wenn ich richtig gelesen habe), aber ich brauche das für Flash MX, also AS1.

Jemand ne Idee?

Danke ...
pipkin ist offline   Mit Zitat antworten
Alt 13-03-2008, 00:45   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
nicht ganz so, wie du das willst. für solche aufgaben benützt man z.b.:

http://www.seibsprogrammladen.de/fra...rithmen/String
Levenshtein


ansonsten braucht du ja nur in einer schleife die strings zeichen für zeichen durchgehen und immer wenn du auf ein ungleiches zeichen triffst, dies ausgeben und überlesen (also hier den index-zeiger um eins weiter stellen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (13-03-2008 um 00:48 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 14-03-2008, 12:07   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2002
Beiträge: 116
Danke Dir, werd das mal unter die Lupe nehmen.

Aber zu Deinem Ansatz, hilf mir mal ..
Zeichen für Zeichen durchgehen? Ok, das ist vorstellbar, wenn das Original (String A) z.B. nur weniger Zeichen hat als die "fehlerhafte Kopie" (String B). Wie finde ich denn raus, was in String B "falsch" ist, wenn in diesem sowohl

- falsche Zeichen sind, die die richtigen ersetzen
- falsche Zeichen sind, die überzählig sind
- richtige Zeichen fehlen, ohne durch Falsche ersetzt zu sein?

Beispiel:
String A: Heute ist ein schöner Tag
String B: Beut st ein schöner TaG

1 ist falsch (H-B)
2 ist richtig (e-e)
3 ist richtig (u-u)
4 ist richtig (t-t)
5 ist falsch (e-Leerzeichen)
und ab da ist alles falsch - denn auch die eigentlich "richtigen" Zeichen sind ja an der falschen Stelle. Bei der Routinge "Zeichen durchgehen, vergleichen und eins raufzählen" werden "Folgefehler" ja nicht erkannt. Konkret in diesem Beispiel würde ich gern erkennen, dass die folgenden 17 Zeichen richtig sind und das letzte wieder falsch.

Wenn ich mir was wünschen dürfte, gäb es eine Routine, die Ähnlichkeiten erkennt... ich hab gesehen, in PHP gibts in der String-Klasse etwas, das "compare" heißt - oder war das Java?.. egal, sowas hab ich in Actionscript jedenfalls noch nicht gesehen. Ich hätte jetzt auch keinen Ansatz, wie man das vernünftig macht.

Vielleicht müßte man den String erstmal in Portionen a 3 Zeichen zerhacken und dann Block für Block Nachbarn vergleichen ... arghhh ... bei der Vorstellung hakts bei mir schon aus

Von daher dachte ich, wenn sich schon mal jemand die Mühe gemacht haben sollte ...
pipkin ist offline   Mit Zitat antworten
Alt 14-03-2008, 13:40   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
Zitat:
Zitat von pipkin Beitrag anzeigen
Von daher dachte ich, wenn sich schon mal jemand die Mühe gemacht haben sollte ...
doch hat sich, und zwar der herr Levenshtein
vielleicht solltest du dich einmal näher damit befassen
http://www.php.net/levenshtein

compare ist nichts anderes als (a == b) für strings und gibt -1, 0 oder 1 zurück
http://www.php.net/operators.comparison
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele