View Full Version : [FRAGE] - 4113
hallo,
hätte da mal ne frage bez. der aufgabe mit den html tags. ich verstehe nicht ganz, wie oder warum ich die mitgelieferten programme der anderen studenten verwenden soll, da es sich dabei um clipping programme handelt. die haben doch mit den html tags wohl gar nix zu tun... oder?
vielleicht kann mir jemand weiterhelfen?
greets
xonic
Paulchen
04-01-2005, 12:05
es steht nirgendwo, dass du die mitgelieferten programme verwenden sollst
es heißt nur, du sollst sie auf korrektheit, programmierstil etc. überprüfen und bewertungen schreiben
Punkrocker
04-01-2005, 12:07
ich hab das selbe beispiel und ich hab alles selber geschriebn. Die Programme die ich dazubekommen habe passen da überhaupt nicht dazu.
Ich wüsste nich wozu ich die verwenden könnte.
asoaso, ok danke... ich dachte schon ich hätte ne denkblockade und würde irgend einen zusammenhang nicht checken... :shinner:
Punkrocker
04-01-2005, 12:14
Ich glaub im schlimmsten fall musst dann einfach dem Typen beim Kontrollgespräch erklären warum du keins verwendet hast und da es nicht dazupasst, kann das ja kein problem sein.
was anderes: wie überprüfst du, ob die tags in der richtigen reihenfolge sind? also sprich title nur innerhalb head, usw...
Punkrocker
04-01-2005, 12:30
Ich fang so an das ich mit regex überprüf ob vom <HTML> bis zum <BODY> tag alles passt.
dann hab ich schau ich ob </BODY> und </HTML> da sind, und wenn soweit alles passt schneid ich diese tags gleich weg. d.h. mein string schaut dann nur mehr so aus:
<TITLE>titel</TITLE><h2>irgendwas</h2><BR>
und dann schau auch ob in dem string eine Tabelle vorkommt. falls ja formatier ich tabelle so das mein string so auschaut:
<TITLE>titel</TITLE><TABLE>Tabelle 1 1</TABLE><h2>Tabelleninhalt</h2>
und dann mach ich aus den einzelnen Tags Objekte die am Ende der reihe nach rausgschossen werden.
Ich hab nur ein Problem mit den Regex. In den javaregex wird ja mit \s jeder beliebige Whitspacecharacter dargestellt, aber irgendwie haut das nicht hin. ich kann die input files die dabei waren nur durchlaufen lassen, wenn ich alle Leerzeichn rausnehme.
hmm... regex sagst du? kenn ich dummerweise nicht... wie funzt das?
Ich hätt mal eine Frage: Zwischen den einzelenen Tags und Worten ist schon überall ein Leerzeichen beim Einlesen, oder kann auch <HTML><TITLE> ohne Leerzeichen dazwischen stehen.
Lg jack83
Punkrocker
04-01-2005, 13:08
regex sind recht gschickt um einen String zu durchsuchen. z.B. wenn ich den String str nach dem tag <TABLE> durchsuchen will würd das so ausschauen:
String regex="<TABLE>";
Pattern pattern =Pattern.compile(regex);
Matcher m = pattern.matcher(str);
while (m.find)
{prinln("Tabelle an Position: "+m.start());
}
Das würd z.B. alle Positionen im String ausgeben an denen ein <TABLE> tag steht.
aha, und das machst du für jeden verschiedenen tag?
Punkrocker
04-01-2005, 13:28
Na bist wahnsinnig! des war nur ein Beispiel!
hm ich blick net durch...:confused:
Punkrocker
04-01-2005, 13:38
Ich verwends nur bei den tags die verschachtelt sind.
aso, ja das hab ich eh gmeint, habs nur falsch ausgedrückt...
Das würd z.B. alle Positionen im String ausgeben an denen ein <TABLE> tag steht.Welche Position gibt das genau? z.B.: "123<TABLE>456". Gibt das dann Die Position 3 (also das 4. Zeichen <) der 9 (10. Zeichen >) oder gar den Substring mit dem kompletten <TABLE>? Hab leider momentan keinen javafähigen PC herumstehen, darum kann ichs nicht selber checken...
Punkrocker
04-01-2005, 17:25
So wie in dem Bsp. das ich oben gepostet hab würds auf den Anfang des Tags zeigen (d.h. in deinem String auf 3). wenn man statt dem m.start() einfach m.end() nimmt, hat man das Ende des Tags d.h. auf 9
also ich hab jetz hin und her probiert, aber irgendwie komm ich auf keinen grünen zweig...
kann mir bitte jemand mal das ganze von grund auf veranschaulichen?
das wäre sehr nett... bin da nämlich nicht so der java kenner :(
Punkrocker
04-01-2005, 19:24
jetzt einmal eine ganz dumme frage:
Sind die Leerzeichen zwischen den einzelnen Tags fix oder kann es auch sein dass die Tags ohne Leerzeichen dazwischen vorkommen??
Punkrocker
04-01-2005, 19:38
Als erstes mußt du einmal die packages importieren.
import java.util.regex.Pattern;
import java.util.regex.Matcher;
Dann mußt du ein pattern und einen matcher erzeugen:
String regex="<TABLE>"; // ausdruck der gesucht werden soll
String str="bei<TABLE>spielbei<TABLE>spiel"; // String der durchsucht werden soll
java.util.regex.Pattern pattern = Pattern.compile(regex);
java.util.regex.Matcher findtable = pattern.matcher(str);
als nächstes mußt du ihm sagen was zu tun ist, wenn der den regex in str findet:
while(findtable.find())
{println("<TABLE> tag beginnt bei position "+findtable.start()+" und endet bei position"+findtable.end());
}
Somit wäre die Ausgabe in unserem Beispiel:
<TABLE>tag beginnt bei position 3 und endet bei position 9
<TABLE>tag beginnt bei position 18 und endet bei position 24
wenn ich mich nicht verzählt habe...
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.