Java-Forum.org  
Zurück   Java-Forum.org > Java - Programmierung > Java Basics - Anfänger-Themen

Java Basics - Anfänger-Themen: String parsen in Java

Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Thema geschlossen    
Themen-Optionen Thema durchsuchen Ansicht
Alt 08.02.2006, 20:50   #1
M.C.S.
 
String parsen in Java - Standard String parsen in Java

Hallo allerseits,

ich möchte gerne einen String parsen und die einzelnen Elemente dann weiterverwerten. Dabei stößt man auf Zahlen und Strings, die in einem Verhältnis zueinander stehen. Das ganze habe ich bis jetzt mit StringTokenizer realisiert.

Vorher habe ich in Smalltalk programmiert, und da ging das meines Erachtens nach viel eleganter mit Streams, die man auf Strings legen konnte. Geht das in Java auch oder ist hier der StringTokenizer _der_ Weg zum Parsen von Strings?

Falls ihr wissen wollt, was geparst werden soll, hier ein Link zu einen Beispiel:
Spionagebericht aus einem Browser-Game

Gruß,
Marcus

Edit:
Um die erste Zeile zu parsen, habe ich z.B. folgenden Code geschrieben, den ich aber ziemlich klobig finde:
Code:
	private void parseSB(String sb) {
		Boolean gefunden = false;
		String token, position;
		StringTokenizer st1, st2;

		st1 = new StringTokenizer(sb, "\n");
		while (st1.hasMoreTokens() && !gefunden) {
			token = st1.nextToken();
			if (token.startsWith("Spionagebericht:")) {
				gefunden = true;
				st2 = new StringTokenizer(token);
				// Überspringe "Spionagebericht:"
				st2.nextToken(":");
				// Alles bis zu "(" ist Koloniename
				kolonie = st2.nextToken("(").substring(1).trim();
				System.out.println(kolonie);
				// bis ")" gehört zur Position
				position = st2.nextToken(")").substring(1);
				System.out.println(position);
				// der Rest ist der Spielername
				spieler = st2.nextToken("\n").substring(1).trim();
				System.out.println(spieler);

				// Position zerteilen in Koordinaten-Argumente
				st1 = new StringTokenizer(position, ":");
				x = Integer.parseInt((String) st1.nextElement());
				y = Integer.parseInt((String) st1.nextElement());
				planet = Integer.parseInt((String) st1.nextElement());

			}
		}
	}
 
Alt 08.02.2006, 21:19   #2
byte
 
String parsen in Java - Standard AW: String parsen in Java

Schau Dir mal Regex an.
 
Alt 09.02.2006, 08:19   #3
M.C.S.
Themenstarter
 
String parsen in Java - Standard AW: String parsen in Java

Ah schön. Da gibt es ja auch mit split(String s) das Gegenstück zu "asCollectionOfSubstrings". Fein fein. Ich muss mich wohl doch mal mit regex anfreunden.

Streams helfen aber trotzdem nicht, oder?
 
Alt 09.02.2006, 09:15   #4
 
String parsen in Java - Standard AW: String parsen in Java

was willst du mit Streams wenns ums reine splitten geht ?

Schau dir die Klassen Pattern / Matcher / Scanner an
 
Alt 09.02.2006, 13:45   #5
M.C.S.
Themenstarter
 
String parsen in Java - Standard AW: String parsen in Java

Keine Ahnung! Ich steige halt um von Smalltalk auf Java, und in Smalltalk konnte man auch sowohl mit String als auch mit Streams auf Strings arbeiten, wobei letzteres einen _immensen_ Geschwindigkeitsvorteil brachte. Hätte ja sein können, dass das Verwenden von Streams unter Java auch Vorteile hat. Aber nach euren Aussagen scheint dem ja nicht so zu sein, danke.
 
Alt 09.02.2006, 14:34   #6
byte
 
String parsen in Java - Standard AW: String parsen in Java

Gibt natürlich auch in Java eine Menge unterschiedlicher Streams. Aber für Stringoperationen benutzt man halt String oder StringBuffer oder StringBuilder oder Regex in Java.
 
Thema geschlossen    

Zurück   Java-Forum.org > Java - Programmierung > Java Basics - Anfänger-Themen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen: String parsen in Java
String parsen
String parsen: Hallo zusammen, mithilfe einer Java-Anwendung...
String parsen
String parsen: Habe einen String, der in folgender Form...
String Parsen
String Parsen: Hallo, Ich möchte gern einen String Parsen....
String parsen
String parsen: Hallo, ich erstelle Benutzernamen aus dem Teil...
String parsen
String parsen: Hallo, ich hab eigentlich mehr oder weniger ein...




Sie betrachten gerade String parsen in Java