Hallo ich habe ein wichtige Frage zu den mattern und pattern.
Ich habe ein Text oder Html Datei, und da steht gewöhnlich html Code.
Eine Funktion die, die Datei einließt und sie in einen String schreibt, habe ich auch schon.
Unzwar wird die Datei eingelesen und dann in das String array input geschrieben. Ausserdem erkennt die funktion den Zeilen umbruch somit steht nicht der gesamte text nur in einem String sondern immer input[0]= "erster text usw.." dann kam ein zeilenumbruch input[1]="text aus der zweiten Zeile"
Nun habe ich also dieses relativ größe String Array input[] und muss hier nach bestimmten Mustern suchen und dann ein Teil des Musters in einen float[] temp reinschreiben.
Also z.B.
meine Datei januar.htm wurde eingelesen und sie hatte zwei Zeilen.
1.Zeile: "<td><nobr> Heute war ein toller Tag und es war der 01.01.2005 </nobr></td>"
2.Zeile: "<td><nobr> Heute waren es 2,7 °C </nobr></td>"
Dies wird nun in String[] input geschrieben und sieht so aus :
input[0]= "<td><nobr> Heute war ein toller Tag und es war der 01.01.2005 </nobr></td>";
input[1]= "<td><nobr> Heute waren es 2,7 °C </nobr></td>"
Nun muss ich in input[] nach einem Bestimmten Muster suchen also wenn ein Datum gefunden wurde und in der darauffolgenden Zeile eine Temperatur (also in input[0] ein datum und in input[1] eine Temperatur), soll die Temperatur, die in dem String steht in float[] temp geschrieben werden unzwar an die Stelle die das Datum als Tag hat.
Nochmal kurz zusammen gefasst :
Also damit meine ich wir haben oben das Datum 01.01.2005 stehen also soll die Temperatur an 0ter stelle im array abgespeichert werden. Weil es ja der erste Tag im Monat ist, soll es auch an der ersten stelle im array stehen.
würde das datum 03.01.2005 sein soll es temp[2] reingeschrieben werden.
Also mein Problem ist jetzt folgendes, wie suche ich nach dem Muster, und wie schaffe ich es wenn die muster gefunden wurden, das, sozusagen die Zahl ! achtung ! nur die Zahl 2,7 in temp[tag des Monats] reingeschrieben wird
Zum erkennen des Datums würde ja folgendes gehen
Suche eine Zahl( (0 gefolgt von einer 1) oder eine zahl (0-2 gefolgt von einer 1-9) oder eine Zahl (3 gefolgt von einer 0-1))
gefolgt von einem Punkt
gefolgt von
einer Zahl( (0 gefolgt von einer 1-9) oder eine zahl (1 gefolgt von einer 0-2))
gefolgt von einer Zahl 2005
gefolgt von der zweitenZeil (irgendeine zahl) gefolgt von einem komma (gefolgt von irgendeinerzahl) gefolgt von einem leerzeichen einm ° und einem großen C.
Sooooo wie setzte ich das nun in die pattern und matchern um ein beispiel habe ich schon das auch geht nur weiß ich nicht wie man jetzt die ganzen muster eingibt also \\d ist irgendeine Zahl das ist aber auch alles was ich weiß. Was ist der rest und wo kann man das nachlesen z,b was ist der . oder das leerzeichen ... ?
-------
Ich hoffe ihr habt die Fragestellung verstanden und könnt mir Tipps geben.
danke.
PS: es muss nicht unbedingt eine komplette Lösung sein sonder viel mehr würde ich mich darüber freuen wie ich nach den mustern suchen kann also
Pattern i = Pattern.compile("\\d"); sucht ja nach nur einer Zahl bzw. digit .. wie aber kann ich nach dem Punkt und einer zahl gefolgt von einer anderen zahl oder leerzeichen und etc.. etc... suchen
:### :###
Ich habe ein Text oder Html Datei, und da steht gewöhnlich html Code.
Eine Funktion die, die Datei einließt und sie in einen String schreibt, habe ich auch schon.
Unzwar wird die Datei eingelesen und dann in das String array input geschrieben. Ausserdem erkennt die funktion den Zeilen umbruch somit steht nicht der gesamte text nur in einem String sondern immer input[0]= "erster text usw.." dann kam ein zeilenumbruch input[1]="text aus der zweiten Zeile"
Nun habe ich also dieses relativ größe String Array input[] und muss hier nach bestimmten Mustern suchen und dann ein Teil des Musters in einen float[] temp reinschreiben.
Also z.B.
meine Datei januar.htm wurde eingelesen und sie hatte zwei Zeilen.
1.Zeile: "<td><nobr> Heute war ein toller Tag und es war der 01.01.2005 </nobr></td>"
2.Zeile: "<td><nobr> Heute waren es 2,7 °C </nobr></td>"
Dies wird nun in String[] input geschrieben und sieht so aus :
input[0]= "<td><nobr> Heute war ein toller Tag und es war der 01.01.2005 </nobr></td>";
input[1]= "<td><nobr> Heute waren es 2,7 °C </nobr></td>"
Nun muss ich in input[] nach einem Bestimmten Muster suchen also wenn ein Datum gefunden wurde und in der darauffolgenden Zeile eine Temperatur (also in input[0] ein datum und in input[1] eine Temperatur), soll die Temperatur, die in dem String steht in float[] temp geschrieben werden unzwar an die Stelle die das Datum als Tag hat.
Nochmal kurz zusammen gefasst :
Also damit meine ich wir haben oben das Datum 01.01.2005 stehen also soll die Temperatur an 0ter stelle im array abgespeichert werden. Weil es ja der erste Tag im Monat ist, soll es auch an der ersten stelle im array stehen.
würde das datum 03.01.2005 sein soll es temp[2] reingeschrieben werden.
Also mein Problem ist jetzt folgendes, wie suche ich nach dem Muster, und wie schaffe ich es wenn die muster gefunden wurden, das, sozusagen die Zahl ! achtung ! nur die Zahl 2,7 in temp[tag des Monats] reingeschrieben wird
Zum erkennen des Datums würde ja folgendes gehen
Suche eine Zahl( (0 gefolgt von einer 1) oder eine zahl (0-2 gefolgt von einer 1-9) oder eine Zahl (3 gefolgt von einer 0-1))
gefolgt von einem Punkt
gefolgt von
einer Zahl( (0 gefolgt von einer 1-9) oder eine zahl (1 gefolgt von einer 0-2))
gefolgt von einer Zahl 2005
gefolgt von der zweitenZeil (irgendeine zahl) gefolgt von einem komma (gefolgt von irgendeinerzahl) gefolgt von einem leerzeichen einm ° und einem großen C.
Sooooo wie setzte ich das nun in die pattern und matchern um ein beispiel habe ich schon das auch geht nur weiß ich nicht wie man jetzt die ganzen muster eingibt also \\d ist irgendeine Zahl das ist aber auch alles was ich weiß. Was ist der rest und wo kann man das nachlesen z,b was ist der . oder das leerzeichen ... ?
-------
Ich hoffe ihr habt die Fragestellung verstanden und könnt mir Tipps geben.
danke.
PS: es muss nicht unbedingt eine komplette Lösung sein sonder viel mehr würde ich mich darüber freuen wie ich nach den mustern suchen kann also
Pattern i = Pattern.compile("\\d"); sucht ja nach nur einer Zahl bzw. digit .. wie aber kann ich nach dem Punkt und einer zahl gefolgt von einer anderen zahl oder leerzeichen und etc.. etc... suchen
:### :###