[Dresden-pm] Vorkommen eines Elementes in einem String zählen

Falk Herrmann falk.herrmann at bike24.net
Mon Aug 8 09:47:13 PDT 2005


Ich würde einen Hash nehmen. Heim-Gast machst du zum Key und Ergebnis
zum Value. Bevor Du es dann in die DB schiebst, einfach prüfen ob Value
vorhanden ist.

Aber was passiert denn, wenn ein Spiel wegen Nichtbespielbarkeit des
Platzes, UFO Landung oder sonstiges ausfällt? Nachgeholt wird das Spiel
ja dann meist nach mehreren Wochen. Mach dann einfach Value zu "- : -"
und schieb es trotzdem in die DB.

On Mon, 2005-08-08 at 15:52 +0200, Andreas Kunert wrote:
> Hallo,
> 
> ich habe folgendes vor. (Sport-Tabellen)
> Ein strukturierte Datei wird geliefert.
> <block>
> <ansetzung>
> <heim>name</heim><gast>name</gast><result>ergebnis</result>
> <heim>name</heim><gast>name</gast><result>ergebnis</result>
> <heim>name</heim><gast>name</gast>
> <heim>name</heim><gast>name</gast>
> </ansetzung>
> <tabelle>
> <platz> ......
> <tabelle>
> 
> Ich will nun in meiner DB speichern, wann ein Spieltag komplett ist, 
> damit ich auf die Spieltage verweisen kann.
> Ich bekomme nach jedem Spieltag eine Datei geliefert.
> Beispiel:
> 1. Bundesliga spielt Freitag, Samstag und Sonntag = 3 Dateien
> 
> Freitags fehlen die Daten der Samstags- und Sonntagsspiele. Erst Sonntag 
> sind alle da.
> Sprich wenn in dem Block ansetzung alle Ergebnisse vorhanden sind, ist 
> der Spieltag abgeschlossen.
> Ein Verweis von einem (abgeschlossenen) Spieltag auf einen anderen 
> erfolgt also nur, wenn alle Resultate vorhanden sind.
> 
> Nun die Frage. Wie kann ich mit Perl zählen, ob in dem Block ansetzung 
> zu jeder Ansetzung auch ein Ergebnis vorliegt. Das Beispiel oben zeigt 
> eine Datei, wie sie an einem unvollständigen Spieltag erzeugt wird. 
> Leider ist die Struktur der übergebenen Datei nicht so sauber, dass ich 
> zeilenweise das machen könnte.
> Was ich suche ist eine Art matching, welches mir z.B. sagt, <heim> ist 9 
> mal vorhanden, resultat nur 3 mal => nicht abgeschlossener Spieltag
> Gibts also so eine Art Zähler, wie oft ein Matching getroffen hat?
> $artikel =~ /.*?<$heim_tag.*?>(.*?)<\/$heim_tag.*?>.*?/i zählt ja 
> scheinbar nicht, sondern sagt nur aus, ob ein Treffer da ist und weist 
> das dann $1 zu.
> 
> Jemand eine Idee?
> 
> Danke
> Gruß Andreas
> _______________________________________________
> Dresden-pm mailing list
> Dresden-pm at pm.org
> http://mail.pm.org/mailman/listinfo/dresden-pm
>