String zerlegen wie?

Status
Nicht offen für weitere Antworten.
K

karlobär

Gast
Hallo will ein kleine Programm schreiben, welches die Speisekarte unserer Mensa anzeigt. Hab dazu ne kleine Klasse geschrieben die mir die HTML-File in einen String einliest. Würde den String jetzt gerne zerlegen, aber habe keine Ahnung wie ich das anstellen soll. Wäre für Hilfe dankbar
Code:
package filehandles;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;

public class CGetMensaPlan
{
	//Adresse der Mensa FH-KL Standort Zweibrücken
	private final static String adresse = "http://www.studierendenwerk-kaiserslautern.de/index.php/Mensa_aktuelle_Woche/447/0/";
	//HTML-Code der Speißekarte wird in getHTML gefüllt
	private String mSource = null;
	private String[] mMontag=null;
	
	
	//Konstruktor
	public CGetMensaPlan() throws MalformedURLException
	{
		super();
		getHTML();			//getHTML liest die HTML-Speißekarte in den String ein
	}
	
	private void getHTML() throws MalformedURLException
	{
		URL mURL = new URL(adresse);		//Adresse der Mensa FH-KL Standort Zweibrücken, abgeleitet aus der Adresse 
		String line = null;					//zwischenspeicher für das auslesen aus der HTML-File
		BufferedReader rdr;					//zum Lesen der HTML-File
		
		try
		{
			rdr = new BufferedReader(new InputStreamReader(mURL.openStream()));	//Reader wird erzeugt als Quelle wird die URL genutzt
			while ((line = rdr.readLine()) != null){mSource += line+"\n";};		//So lange noch zeilen vorhanden sind wird mSource die jeweilige Zeile + ein LF hinzugefügt
			splitString();
		} catch (IOException e)													//Fehler beim lesen der HTML-File ?
		{
			System.out.println("Fehler beim lesen der Datei");
			e.printStackTrace();
		}
	}
	
	public void splitString()
	{

	}
	
	//getterMetohe für mSource
	public String getSource()
	{
		return mSource;
	}
	
	public static void main(String[] args) throws MalformedURLException
	{
		CGetMensaPlan a = new CGetMensaPlan();
	}
}

Danke schon mal im Vorraus und euch allen ein schönes Fest
 
R

Roar

Gast
zum beispiel mit regulren ausdrücken
Code:
[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b].*?[/b].*?[b].*?[/b].*?
filtert dir pro 'match' folgende 'groups':
Code:
Group(0) = [b]Montag, 17.12.2007[/b]</div></td></tr><tr bgcolor="#e7ebf3"><td><div align="center">[b]1[/b]</div></td><td>



[b]Truthahn-Cordon-bleu (Formfleisch) mit Truthahnschinken und Käse gefüllt, Bratkartoffeln und Erbsen-Karotten-Gemüse[/b]</p>Studenten&2,40 € | Bedienstete&3,80 € | Gäste 4,60 €</p></td></tr><tr bgcolor="#bac4e0"><td><div align="center">[b]2[/b]</div></td><td>

[b]Spaghetti &Carbonara& mit Schinken-Käse-Soße (S/4) (auch vegetarisch ohne Schinken), dazu Salat[/b]
Group(1) = Montag, 17.12.2007
Group(2) = 1
Group(3) = Truthahn-Cordon-bleu (Formfleisch) mit Truthahnschinken und Käse gefüllt, Bratkartoffeln und Erbsen-Karotten-Gemüse
Group(4) = 2
Group(5) = Spaghetti &Carbonara& mit Schinken-Käse-Soße (S/4) (auch vegetarisch ohne Schinken), dazu Salat
beispielcode hab ich nicht; wie man die Pattern und Matcher klassen benutzt steht in der suchfunktion, dokumentation oder javaalmanac.com oder google.de

edit: regex korrigiert; dotall-modus muss aber an sein wegen den newlines.
 
K

karlobär

Gast
Hey erst mal danke für die schnelle Antwort ich werde mal schauen was ich so hinbekomme. Für weitere Vorschläge bin ich dankebar.
LG
 
K

KarloBär

Gast
bin jetzt mal zu folgendem Ansatz gekommen
Code:
public void splitString()
	{
		String pattern = "[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b].*?[/b].*?[b].*?[/b].*?"; 
		Matcher m = Pattern.compile(pattern).matcher(mSource); 
		if(m.find()) 
		{ 
		  for(int i = 1; i <= m.groupCount(); i++) 
			  System.out.println(m.group(i));
		}
	}

bekomme als Ausgabe aber nur:

Code:
&
Dienstag, 18.12.2007
1
Hackfleischspieß (S/2/9) mit Zigeunersoße (1/4), Pommes-Frites und Salat
 
K

Kalrobär

Gast
So bin jetzt soweit das ich beide Gerichte im String hab. Allerdings bekomm ich immer nur den Dienstag!
 
R

Roar

Gast
Code:
			String pattern = "[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b](.*?)[/b].*?[b].*?[/b](.*?[b].*?[/b].*?)?";
		Matcher m = Pattern.compile(pattern, Pattern.DOTALL).matcher(text);
		while(m.find()) {
			System.out.println("Am " + m.group(1) + " gibs "+ m.group(3) +" und lecker "+ m.group(5));
		}
 
K

karlobär

Gast
Hey Danke noch mal für deine Hilfe!
Aber die RegEx matcht irgendwie nicht. Sorry fals ich schon nerve :)

LG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F String in feste Größe zerlegen Allgemeine Java-Themen 11
H String zerlegen Allgemeine Java-Themen 2
J String zerlegen in einzelne Strings Allgemeine Java-Themen 7
D String zerlegen Allgemeine Java-Themen 12
X String zerlegen mittels regulärem Ausdruck Allgemeine Java-Themen 31
N String in einzelne Zeichen zerlegen Allgemeine Java-Themen 8
S String analysieren, zerlegen und überarbeiten Allgemeine Java-Themen 4
Luma String in seine Buchstaben zerlegen? Allgemeine Java-Themen 3
M String zerlegen? Allgemeine Java-Themen 2
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
M String Allgemeine Java-Themen 10
M Suche nach String mit unbekannten characters Allgemeine Java-Themen 53
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
E Objekte in einen String packen und wieder laden Allgemeine Java-Themen 5
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
O String in Long Hexerdezimal umwandel Allgemeine Java-Themen 14
N String vergleichen. Allgemeine Java-Themen 27
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
M Switches ohne String Allgemeine Java-Themen 18
AmsananKING String Iteration Allgemeine Java-Themen 5
S Shuffle String aus if-clause Allgemeine Java-Themen 11
Besset Variablen Ist String = "" + int inordnung? Allgemeine Java-Themen 6
M Map <Long, String> zu Map<String, Long> Allgemeine Java-Themen 9
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
N Prüfen, ob ein String 2x das selbe Zeichen hat Allgemeine Java-Themen 10
SaftigMelo Bug Fixen von String-spliten Allgemeine Java-Themen 8
Monokuma String List nach Zahlen und Worten sortieren Allgemeine Java-Themen 9
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
YohnsonM String - Aufteilung und Nutzung einzelner Chars Allgemeine Java-Themen 7
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
S String umbenennen: wie? Allgemeine Java-Themen 4
x46 String Format Fehler Allgemeine Java-Themen 2
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
L String zu repräsentativen Wert Allgemeine Java-Themen 0
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
L regex ganzer string? Allgemeine Java-Themen 2
L Ist ein string ein erlaubter variabel name? Allgemeine Java-Themen 2
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
A String auf Zahlen überprüfen Allgemeine Java-Themen 5
N String Array Eingabe Allgemeine Java-Themen 6
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
R char aus String entfernen Allgemeine Java-Themen 10
LimDul Mittels Streams aus Strings A B C den String A, B und C machen Allgemeine Java-Themen 12
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
S Ini Text aus String parsen Allgemeine Java-Themen 1
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
M String lässt sich nicht Zusammenfügen Allgemeine Java-Themen 10
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
R Variablen String mit split-Funktion aufteilen Allgemeine Java-Themen 7
F Datei in String-Array einlesen Allgemeine Java-Themen 8
S Marker aus String ermitteln Allgemeine Java-Themen 5
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
S MSSQL Exception & Connection String Allgemeine Java-Themen 19
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
J String - Vergleiche Allgemeine Java-Themen 7
K Aus String zwei Jahreszahlen auslesen Allgemeine Java-Themen 18
Drachenbauer Wie kann eine vorgegebene Farbe über einen String erkannt werden? Allgemeine Java-Themen 11
G CSV in String Allgemeine Java-Themen 7
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
D Erste Schritte Fehler mit negativen und 0 Zahlen im String Allgemeine Java-Themen 6
Xge Replace x Zeichen aus String Allgemeine Java-Themen 2
coolian warum bekomme ich ein string index out of bounds exception Allgemeine Java-Themen 17
F In String 2 Buchstaben vertauschen Allgemeine Java-Themen 2
J Class Decompile als String (Procyon) Allgemeine Java-Themen 2
I Datentypen String in class sicher verwahren Allgemeine Java-Themen 17
J Falls der String ein "X" beinhaltet Allgemeine Java-Themen 2
T String mehrere Worte Allgemeine Java-Themen 2
D String Groß-/Kleinschreibung Allgemeine Java-Themen 2
D String und Klassenvariable Allgemeine Java-Themen 6
Aruetiise Funktion(y = mx+n) in String speichern und berechnen Allgemeine Java-Themen 9
C String in Objektnamen umwandeln Allgemeine Java-Themen 3
E Variablen Aus .txt ausgelesener string mit if() überprüfen? Allgemeine Java-Themen 2
L String-Schema-Aufspaltung Allgemeine Java-Themen 2
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
L String splitten und multiplizeren Allgemeine Java-Themen 10
G String mit umbekannter länge splitten. Allgemeine Java-Themen 2
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
A Byte zu String Allgemeine Java-Themen 4
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
L Decrypt String Allgemeine Java-Themen 1
X Variablen AtmicLong größer als String ? Allgemeine Java-Themen 4
S String literal und Referenzvariablen Allgemeine Java-Themen 6
J Datentypen Absätze mit String im Word Dokument Allgemeine Java-Themen 3
D "Paste" String doppelt Allgemeine Java-Themen 14
E String Frage Allgemeine Java-Themen 9
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
D JSON to String Allgemeine Java-Themen 31

Ähnliche Java Themen

Neue Themen


Oben