Schnell HTML-Tags finden

H

htmltags

Gast
Tag,

ich suche eine möglichst effiziente (also schnelle) Möglichkeit bestimmte
HTML-Tags in einem String zu finden und das was zwischen diesen Tags
steht zu extrahieren und das für alle Tags der gleichen Sorte, nicht nur für eins.

Ein Beispiel:

Alle URLs die im String enthalten sind finden. Diese sind ja meist mit <a href="">
oder so versehen.

Als ersten Ansatz hätte ich da jetzt Pattern verwendet wie z.B.:

Java:
Pattern p = Pattern.compile("<a\\s+href\\s*=\\s*\"?(.*?)[\"|>]", Pattern.CASE_INSENSITIVE);

Allerdings scheint das recht langsam zu sein.

Gibt es da ne effizientere Möglichkeit? (ohne irgendwelche Tools, reines Coding :))
 
N

nillehammer

Gast
htmltags hat gesagt.:
Allerdings scheint das recht langsam zu sein.
Wie kommst du zu der Aussage? Regex ist zwar nicht die schnellste Möglichkeit, aber sicher schnell genug und auf keinen Fall "recht langsam" (zumindest nicht bei dem von Dir beschriebenen Anwendungsfall).
htmltags hat gesagt.:
Gibt es da ne effizientere Möglichkeit? (ohne irgendwelche Tools, reines Coding )
Ja, gibt es. Die größere Effizienz erkauft man sich aber mit etwas weniger Flexibilität:
Java:
  public static void main(String... args) throws Exception {

    String href = "href=\"";

    String aTag = "<a href=\"http://meine.domain.de/test\">Linktext</a>";

    int startIndex = aTag.indexOf(href) + href.length();

    int endIndex = aTag.indexOf('"', startIndex);

    System.out.println(aTag.substring(startIndex, endIndex));
  }
Die Methoden indexOf und substring arbeiten auf dem char-Array. Das ist schneller als Regex-Processing.
 

Marco13

Top Contributor
Ein kleiner Puzzler zu RegEx, den man in ähnlicher Form überall im Netz findet:
Java:
public class RegExTest
{
    public static void main (String[] args) 
    {
        final String pattern = "(aa|aab?)*";

        final String a0 = "aa";
        final String a1 = "aaa";
        final String a2 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        final String a3 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";

        System.out.println(a0.matches(pattern)) ;
        System.out.println(a1.matches(pattern)) ;
        System.out.println(a2.matches(pattern)) ;
        System.out.println(a3.matches(pattern)) ;
    }
}
Einfach mal ausführen.


Und wie immer in solchen Fällen: Der Verweis auf Jericho HTML Parser . Ehrlich gesagt weiß ich über die Performance dieses Parsers nichts, aber komfortabler als RegEx und flexibler als manuelles String-Zerhacken ist er auf jeden Fall.
 

diel2001

Bekanntes Mitglied
Ein Pattern Object ist dafür da, um einen bestimmten Teil im Text zu finden.
In dem Besipiel im vorherigen Post wird nur geschaut, ob dieser Teil enthalten ist.

String.matches gibt true oder false zurück.

Also ist das keine gute Alternative, um etwas in einem String zu finden.
 
N

nillehammer

Gast
Ein Pattern Object ist dafür da, um einen bestimmten Teil im Text zu finden.
In dem Besipiel im vorherigen Post wird nur geschaut, ob dieser Teil enthalten ist.

String.matches gibt true oder false zurück.

Also ist das keine gute Alternative, um etwas in einem String zu finden.
Doch, der Ansatz ist schon ok. Danach muss halt noch ein Matcher erzeugt und mit group gearbeitet werden. Ich glaub aber, dass htmltags das weiß
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
K Wie kann man diesen Code schnell und effizient interpretieren (Man hat nur 4 Minuten) Java Basics - Anfänger-Themen 3
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
marcooooo einmal noch schnell hilfe bitte:/ Java Basics - Anfänger-Themen 2
M JAVA String schnell parsen Java Basics - Anfänger-Themen 14
C Erste Schritte Warum ist die While Schleife so schnell? Java Basics - Anfänger-Themen 5
I Ordner schnell durchlesen Java Basics - Anfänger-Themen 11
C Methoden schnell und richtig schreiben Java Basics - Anfänger-Themen 8
L Array schnell befüllen Java Basics - Anfänger-Themen 3
N Input/Output Große Dateien schnell Speichern/auslesen Java Basics - Anfänger-Themen 16
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
turmaline Verfügbarkeit einer URL schnell prüfen Java Basics - Anfänger-Themen 4
parite.b schnell frage ;) API CONTENTS ? Java Basics - Anfänger-Themen 2
J ListModel dynamisch und schnell aber sicher ändern Java Basics - Anfänger-Themen 7
0 Fibonacci Zahlen seeeehr schnell berechnen Java Basics - Anfänger-Themen 9
D Array schnell löschen / auf 0 setzen Java Basics - Anfänger-Themen 7
F 1:1 kopie möglichst effektiv und schnell Java Basics - Anfänger-Themen 7
D Problem mit Array brauche schnell Hilfe Java Basics - Anfänger-Themen 11
L Wie schnell ist Java? Java Basics - Anfänger-Themen 15
P Mehre Werte schnell erstellen Java Basics - Anfänger-Themen 8
P Welche Datenstruktur um schnell zu suchen? Java Basics - Anfänger-Themen 25
O Wie schnell liest man Dateien ein ? Java Basics - Anfänger-Themen 6
H classpath schnell setzen Java Basics - Anfänger-Themen 10
W Javadoc HTML erzeugen mit allen dependency Java Basics - Anfänger-Themen 11
M html-seite drucken (gerendert) Java Basics - Anfänger-Themen 3
I HTML Code säubern Java Basics - Anfänger-Themen 4
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
B String nach HTML formatieren Java Basics - Anfänger-Themen 9
S HTML-Quelltext hinter HTTPS Java Basics - Anfänger-Themen 1
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
E HTML in Java einbinden oder JavaScript? Java Basics - Anfänger-Themen 5
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
krgewb Input/Output Umlaute in generierter HTML-Datei Java Basics - Anfänger-Themen 7
N Status-Log - HTML Java Basics - Anfänger-Themen 12
C Methoden Welche JSoup Methoden Und Parameter für diese HTML Tags Java Basics - Anfänger-Themen 4
I Meta Tags vergleichen mit Html Vorgabe Java Basics - Anfänger-Themen 8
B HTML Code drucken Java Basics - Anfänger-Themen 4
D HTML Manipulation Navigation Java Basics - Anfänger-Themen 1
Z Html Element aus der Webseite auslesen Java Basics - Anfänger-Themen 1
D Erste Schritte HTML aus JEditorPane drucken Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
M Java und Html Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
T Ausgabe in HTML :( Java Basics - Anfänger-Themen 19
F HTML Datei in .jar speichern und abändern Java Basics - Anfänger-Themen 2
S mit Java HTML Button drücken "lassen" Java Basics - Anfänger-Themen 8
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
T HTML-Inputbox ansteuern Java Basics - Anfänger-Themen 4
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
I HTML in String wandeln? Java Basics - Anfänger-Themen 1
D javacode durch Html ausfuehren Java Basics - Anfänger-Themen 13
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
C Html in einem JEditorPane anzeigen Java Basics - Anfänger-Themen 2
I jar-Datei in HTML einbinden Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
G Probleme beim HTML auslesen Java Basics - Anfänger-Themen 6
J Html zugriff - POST Request/Response Java Basics - Anfänger-Themen 4
A HTML-Code auslesen und mit einem Wert in der property-Datei vergleichen Java Basics - Anfänger-Themen 2
Z Input/Output HTML-Seite einlesen Java Basics - Anfänger-Themen 4
H Interface JTextPane html formatiert kopieren Java Basics - Anfänger-Themen 2
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
D Wie den HTML-Teil des Chat Tutorials aus dem FAQ-Bereich starten? Java Basics - Anfänger-Themen 5
C Link wie bei HTML Java Basics - Anfänger-Themen 7
F Methoden replaceAll (regex) HTML Java Basics - Anfänger-Themen 3
M Mit Java eine HTML-Seite speichern Java Basics - Anfänger-Themen 11
C Java in HTML einbinden Java Basics - Anfänger-Themen 2
N Website HTML mit JavaScript abrufen Java Basics - Anfänger-Themen 9
R JSON - Ausgabe als HTML mit gson Java Basics - Anfänger-Themen 6
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
A JEditorPane + html -> java.io.IOException: invalid url Java Basics - Anfänger-Themen 4
S Lightbox Script vs. Taco HTML Script Java Basics - Anfänger-Themen 4
R Pattern bzw. Regex HTML-Code Java Basics - Anfänger-Themen 10
S String mit ASCII/HTML Zeichen darstellen Java Basics - Anfänger-Themen 10
S HTML Regularer Expression Java Basics - Anfänger-Themen 20
S regulärer Ausdruck HTML Java Basics - Anfänger-Themen 5
D Html Formular auswerten Java Basics - Anfänger-Themen 8
P Java Object das eine HTML Datei repräsentiert Java Basics - Anfänger-Themen 19
eLogic Einlesen von HTML-Source Java Basics - Anfänger-Themen 6
turmaline Ein regulärer Ausdruck für HTML-Sonderzeichen Java Basics - Anfänger-Themen 3
H html-Text mit Formatierung in String speichern Java Basics - Anfänger-Themen 4
S Java und HTML- Drop Down- Mehrfachauswahl Java Basics - Anfänger-Themen 3
A execute jar from html Java Basics - Anfänger-Themen 6
D Interpreter-Fehler JavaApplet läuft in der IDE aber nicht im HTML Dokument Java Basics - Anfänger-Themen 9
StupidAttack Html Code durchsuchen Java Basics - Anfänger-Themen 2
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
TheKing HTML Formular mit Java ausfüllen und absenden Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben