Wie: Bestimmte Zeilen von einem String in neuen String kopieren?

  • Hallo zusammen,

    ich sammle von einer Webseite Daten, die sich dauernd ändern und habe es schon geschafft, diese in drei einzelne Arrays einzulesen: Farbe, Name und Strasse.

    Es geht um gleichbleibende Namen und Strassen, aber die Farben ändern sich in unregelmäßigen Intervallen. Ich muss ständig vier Tabellen mit den sich aktuell darin befindlichen Namen und Strassen darstellen. Ich kann diese drei Arrays zu einem String zusammensetzen. Hier ist ein Beispiel:

    Spoiler anzeigen

    Farbe;Name;Strasse

    orange;Brillenmuseum;Ackerstr.

    gruen;Deutsches Maler- und Lackierer-Museum;Adelheidstr. 10

    rot;St. Marien Krankenhaus Berlin;Adenauerstr. 20

    rot;Künstlerhaus Hamburg;Altvaterstr. 55

    gruen;Evangelisches Geriatriezentrum Berlin (EGZB);Angermühlstr. 13

    rot;Kunstverein in Hamburg;Aufhofener Str. 1

    rot;Heine-Haus im Heine-Park;Balanstr. 79

    rot;Museum für Kunst und Gewerbe;Bergetstr. 20

    gelb;Immanuel-Krankenhaus;Bergstr. 46

    orange;Spicy’s Gewürzmuseum;Blütenstr. 2

    gruen;Freie Akademie der Künste in Hamburg;Brudermühlstr. 12

    gruen;Bunkermuseum;Dieselstr. 5

    orange;Speicherstadtmuseum;Ebenböckstr. 19/II

    orange;Dominikus-Krankenhaus;Egenhofer Str. 39

    Wie kann ich vier Strings erzeugen, die jeweils nur die Einträge der jeweiligen Farben gruppiert enthalten? Das soll dann so aussehen:

    Spoiler anzeigen

    orange;Brillenmuseum;Ackerstr.

    orange;Spicy’s Gewürzmuseum;Blütenstr. 2

    orange;Speicherstadtmuseum;Ebenböckstr. 19/II

    orange;Dominikus-Krankenhaus;Egenhofer Str. 39

    gruen;Deutsches Maler- und Lackierer-Museum;Adelheidstr. 10

    gruen;Evangelisches Geriatriezentrum Berlin (EGZB);Angermühlstr. 13

    gruen;Freie Akademie der Künste in Hamburg;Brudermühlstr. 12

    gruen;Bunkermuseum;Dieselstr. 5

    rot;St. Marien Krankenhaus Berlin;Adenauerstr. 20

    rot;Künstlerhaus Hamburg;Altvaterstr. 55

    rot;Kunstverein in Hamburg;Aufhofener Str. 1

    rot;Heine-Haus im Heine-Park;Balanstr. 79

    rot;Museum für Kunst und Gewerbe;Bergetstr. 20

    gelb;Immanuel-Krankenhaus;Bergstr. 46

    Das nächste Ziel ist dann, das ganze mit <li> zu versehen; das bekomme ich dann aber wahrscheinlich selber hin:

    Spoiler anzeigen

    <li><div id="orange"><ma>Brillenmuseum</ma><br><obj>Ackerstr. </obj></div></li>

    <li><div id="orange"><ma>Spicy’s Gewürzmuseum</ma><br><obj>Blütenstr. 2</obj></div></li>

    <li><div id="orange"><ma>Speicherstadtmuseum</ma><br><obj>Ebenböckstr. 19/II</obj></div></li>

    <li><div id="orange"><ma>Dominikus-Krankenhaus</ma><br><obj>Egenhofer Str. 39</obj></div></li>

    <li><div id="gruen"><ma>Deutsches Maler- und Lackierer-Museum</ma><br><obj>Adelheidstr. 10</obj></div></li>

    <li><div id="gruen"><ma>Evangelisches Geriatriezentrum Berlin (EGZB)</ma><br><obj>Angermühlstr. 13</obj></div></li>

    <li><div id="gruen"><ma>Freie Akademie der Künste in Hamburg</ma><br><obj>Brudermühlstr. 12</obj></div></li>

    <li><div id="gruen"><ma>Bunkermuseum</ma><br><obj>Dieselstr. 5</obj></div></li>

    <li><div id="rot"><ma>St. Marien Krankenhaus Berlin</ma><br><obj>Adenauerstr. 20</obj></div></li>

    <li><div id="rot"><ma>Künstlerhaus Hamburg</ma><br><obj>Altvaterstr. 55</obj></div></li>

    <li><div id="rot"><ma>Kunstverein in Hamburg</ma><br><obj>Aufhofener Str. 1</obj></div></li>

    <li><div id="rot"><ma>Heine-Haus im Heine-Park</ma><br><obj>Balanstr. 79</obj></div></li>

    <li><div id="rot"><ma>Museum für Kunst und Gewerbe</ma><br><obj>Bergetstr. 20</obj></div></li>

    <li><div id="gelb"><ma>Immanuel-Krankenhaus</ma><br><obj>Bergstr. 46</obj></div></li>


    Danke für Ideen!

  • Gibt es immer nur diese vier Farben ?

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Ich würde das einfach in ein Array packen und dieses dann sortieren.

    Der Rest ist einfach dann nur noch das Array auslesen und so formatieren wie gewünscht.

  • Hier noch eine andere Variante (die Ausgangsdaten sind im Skript enthalten) :

    Das Skript von Bitnugger ist variabler, da die Farben nicht fest vorgegeben sind :P.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Anstatt aus drei Arrays einen String zu basteln und eine der gezeigten Methoden zu verwenden, um daraus wieder ein Array zu machen, schreibe einfach deine drei Arrays in eines ^^

    Der noch zu leistende Aufwand mit dem Array wäre dann:

    Code
    #include <Array.au3>
    _ArraySort($aArrayMitAllenDaten)

    Grüße autoiter