Chat auslesen

Status
Nicht offen für weitere Antworten.

Ch!zZzL@

Mitglied
Hallo Java Entwickler,

ich schreibe im Moment ein kleines Tool für mich selbst.

Dieses Tool soll einen Chat auf einer (Flash)-Webseite auslesen (meine bisherige Idee: Robot-Klasse -> reinklicken, alles markieren, kopieren und aus einem Clipboard holen). Soweit funktioniert das ganze auch ganz gut. Desweiteren wird der Chat jede 10 Sekunden ausgelesen.
Was ich nun ganz gerne hätte ist, wie kann ich am besten feststellen was ich bereits ausgelesen habe?

z.B.

Beim ersten einlesen lese ich den String myFirstString= "bla bla bla \n blup blup blup \n bla bla bla \n grr grr grr" und beim zweiten lesen ich den String mySecondString = "blup blup blup \n bla bla bla \n grr grr grr \n bla bla bla \n grr grr grr".

Wie kann ich am effezientesten feststellen dass der zweite String die neuen Zeilen "bla bla bla \n grr grr grr" enthält?

Ich hoffe meine Frage ist einigermaßen deutlich geworden! :)

P.S.: Falls jemand eine bessere Idee hat, wie man einen Flash-Chat auslesen kann, würde ich mich freuen diese zu hören! :D
 
B

bygones

Gast
alle bisherigen strings speichern und ueber contains die Strings dann abfragen bzw ueber patternmatching
 

Ch!zZzL@

Mitglied
alle bisherigen strings speichern und ueber contains die Strings dann abfragen bzw ueber patternmatching

Ich wollte es vermeiden alle möglichen strings zu speichern und contains kann ich doch nur benutzen wenn ein string komplett in einem anderem string drin ist. In meinem Fall ist es eher eine Schnittmenge die die beiden Strings verbindet!

Weitere Vorschläge? ???:L
 

LostInSpace

Mitglied
Ist das noch aktuell? Man kann das auch so lösen:

Code:
//Der schon vorhandene String
String firstString = "ASD FOO ASE BAR";

//Der neu eingelesene String mit den gleichen Teilen "ASE" und "BAR"
String secondString = "ASE BAR LOL ROFL MAO";

//Regulären Ausdruck für den bereits vorhandenen String erstellen:
//(ASD )*(FOO )*(ASE )*(BAR).*
String regex = "(" + firstString.replace(" ", " )*(") + ").*";

//Pattern erstellen
Pattern p1 = Pattern.compile(regex);

//Mit zweiten String matchen
Matcher matcher = p1.matcher(secondString);
 

Ch!zZzL@

Mitglied
Danke für deinen Vorschlag ich habe es mittlerweile so oder so ähnlich gelöst! Ich habe dabei eine Gewisse Symmetrie in dem Text ausgenutzt dieser wurde in Bereiche unterteilt wobei jeder Bereich eine Identifikationsnummer hatte, das war dann mein Patter nach dem ich dann gesucht habe! :D

Danke dir trotzdem! :D

Ist das noch aktuell? Man kann das auch so lösen:

Code:
//Der schon vorhandene String
String firstString = "ASD FOO ASE BAR";

//Der neu eingelesene String mit den gleichen Teilen "ASE" und "BAR"
String secondString = "ASE BAR LOL ROFL MAO";

//Regulären Ausdruck für den bereits vorhandenen String erstellen:
//(ASD )*(FOO )*(ASE )*(BAR).*
String regex = "(" + firstString.replace(" ", " )*(") + ").*";

//Pattern erstellen
Pattern p1 = Pattern.compile(regex);

//Mit zweiten String matchen
Matcher matcher = p1.matcher(secondString);
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben