Bestimmte Werte aus einem String entnehmen

butterfly84

Mitglied
Hallo,

ich habe folgende Zeilen:

4 2 -1 0 0 16 20 0.0000 4 830 273 9798 8120 0..*\001
4 2 -1 0 0 16 20 0.0000 4 830 273 9798 7082 1..*\001
4 1 -1 0 0 16 26 0.0000 4 340 2420 9846 8623 statischeIB\001

(das sind Informationen über einen Text)
und brauche aus diesen nur drei Abschnitte,

z.B. aus der ersten Zeile:
1. 830 (die Höhe des Textes)
2. 273 (die Breite)
3. 9798 8120 (die x- und y-Koordinate der Ecke links unten ab der, der Text beginnt)

da diese Zahlen unterschiedlich lang sein können, kann ich ja nicht ab bestimmter Position wählen. Kann ich in so einem String die Leerzeichen zählen, und dann z.B. ab Leerzeichen 9 die Höhe entnehmen? Vielen Dank für eure Hilfe,

Butterfly84
 
Kann ich in so einem String die Leerzeichen zählen, und dann z.B. ab Leerzeichen 9 die Höhe entnehmen? Vielen Dank für eure Hilfe,

Butterfly84

Ja, string.charAt(index) gibt das zeichen an x. stelle zurück. Damit läufst du den string durch und zählst halt.

Andere Möglichkeit wäre ein Tokenizer der als Trennzeichen das leerzeichen verwendet.
 
Wenn die Anzahl der Leerzeichen *immer* gleich sind bis man zu den Informationen gelangt, die man haben möchte, könnte man das ganze so machen:
Java:
String temp = "4 2 -1 0 0 16 20 0.0000 4 830 273 9798 8120 0..*\001";
		
String[] splits = temp.split(" ");
		
System.out.println("Height: " + splits[9].toString());
System.out.println("Width: "  + splits[10].toString());
System.out.println("X: "      + splits[11].toString());
System.out.println("Y: "      + splits[12].toString());

Im Grunde wird dein String einfach nur anhand der Leerzeichen aufgesplittet und in ein String Array gepackt. Wenn du jetzt sicher gehen kannst, dass es immer die gleiche Anzahl von Leerzeichen hat, bis man zu den gewollten Infos kommt, müsste man nur noch an diesen Stellen das Array auslesen um an selbige zu gelangen. Der Output vom o.a Code ist:
Code:
Height: 830
Width: 273
X: 9798
Y: 8120
 

Neue Themen


Zurück
Oben