In einem String nach einem String suchen und Zeichen danach ausgeben

Fabse

Aktives Mitglied
Hi,

ich habe eine langen String und möchte in diesem String nach einem anderen String suchen, das geht ja mit contains, also damit kann ich ja schauen, ob der String in dem String enthalten ist.
Aber dann möchte ich noch weiter gehen, wenn ich den String gefunden habe, möchte ich den gesuchten String und noch x Zeichen nach dem String in einen neuen String schreiben.

Jetzt weiß aber nicht genau, welche Funktion ich dafür brauche?

Danke 🙂
 
Java:
String [] termine = new String [10];
	    	String inputLine;
	    	String vola;
	    	String time;
	    	vola = "volatility3";
	    	time = "time";
	    	int iw = 0;
	    	while ((inputLine = buffReader.readLine()) != null) {

	    		if (inputLine.contains(vola) && inputLine.contains(time)) {
	    			
	    			//System.out.println(inputLine);
	    			termine[iw] = inputLine;
	    			iw++;
	    			
	    		}
	    	}

Den String hol ich mir aus dem Quellcode von einer Website.
In termine[0] steht z.b. "<td class="time "><div>10:30</div></td><td class="country "><div><img alt="Großbritannien" src= ......"

Da möchte ich jetzt die Uhrzeit raushaben, also wollte ich nach "<td class="time "><div>" suchen und dann die 4 Zeichen danach ausgeben bzw. in ein neuen String speichern, das gleiche dann mit country.

Ich hoffe jetzt ist es verständlich?

Was mir aber gerade auffällt...die Anzahl der Zeichen ist ja quatsch, da ja auch bei der Uhrzeit 9:00 steht, also nur 4 Zeichen statt 5, bei dem Land ja auch sehr unterschiedlich!
Also dann doch nach "<td class="country "><div><img alt=" suchen und dann alles ausgeben bis zu der nächsten Leertaste.
 
An eine Lib hab ich auch schon gedacht, aber sind nur diese 2 Sachen die ich brauche, dafür wollte ich nicht die ganze Lib nehmen. Dachte eigentlich, dass es so vielleicht einfacher wäre.
Mit SubString kann ich aber nur mit der Anzahl der Zeichen arbeiten oder?
Gibts die gleiche Methode nicht auch mit dem Beispiel von mir oben? Bedeutet ich übergabe der Methode 2 Strings, einmal den String, wo es starten soll und dann noch ein String wo es enden soll.

Wenns sowas auch nicht gibt, muss ich mal nach einer Lib schauen...
 
Ok ich habs 🙂

Java:
System.out.println("Ausgabe der Strings aus dem Array:");

	    	buffReader.close();   
	    	
	    	for (int counter = 0; counter < iw; counter ++) {
	    		
	    		System.out.println(termine[counter]);
	    	}
	    	
	    	for (int i = 0; i < iw; i ++) {
	    		
	    		uhrzeit[i] = termine[i].substring(35, 50);
    		
	    		land[i] = termine[i].substring(87, 105);
	    	}
	    	

	    	for (int count = 0; count < iw; count ++) {
	    		
	    		System.out.println(uhrzeit[count]);
	    		System.out.println(land[count]);
	    	}
	    	
	    	for (int j = 0; j < iw; j ++) {
	    		
	    		uhrzeit[j] = uhrzeit[j].substring(0,uhrzeit[j].indexOf('<'));
    		
	    		land[j] = land[j].substring(0,land[j].indexOf('"'));
	    	}
	    	
	    	System.out.println("Fertige Ausgabe");
	    	
	    	for (int count = 0; count < iw; count ++) {
	    		
	    		System.out.println(uhrzeit[count]);
	    		System.out.println(land[count]);
	    	}

Etwas ein gefrickel aber es geht.

Danke!
 

Zurück
Oben