Daten aus einem String ausschneiden

  • Hallo liebe Gurus :)

    Ich möchte aus dem Internet Temperatur Daten abziehen.

    Ich habe da eine tolle Seite gefunden und möchte die Daten da heraus nehmen.

    Ich hole die Daten von folgender Seite:

    #mce_temp_url#


    Ich schaffe es nun für mehrere Ortschaften die Daten in folgender Form in eine Text Datei zu schreiben:

    Ich hänge mal die Ergebnis Datei mit an.

    Wie schaffe ich es nun, die nicht benötigten Zeichen zu entfernen???

    Ich brauche nur die Temperatur Daten zum Beispiel:

    9
    18
    15
    25
    15
    26

    Habt Ihr da eine Idee, wie man das am besten macht??

    Viele Grüße

    Richard

    Einmal editiert, zuletzt von rici35 (7. Juni 2011 um 18:25)

    • Offizieller Beitrag

    Um an die gwünschten Daten zu kommen, nimm am besten _StringBetween oder StringRegExp.
    Für einen Anfänger würde ich zu 1. rem raten, da es einfacher zu bedienen ist.

  • Hallo,

    _StringBetween scheint richtig zu sein.

    Allerdings hab ich nun ein anders Problem.

    Hier mein code:

    [autoit]

    #include <String.au3>
    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    $string = "><span class="b">9</span>&nbsp"

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $abda = "class="b""
    $bisda = "</span>"

    [/autoit][autoit][/autoit][autoit]

    $between = _StringBetween($string, $abda, $bisda)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    _ArrayDisplay($between, "$avArray als 2D Array")

    [/autoit]

    Ich habe in dem String Anführungszeichen.......

    Wie schaffe ich es, das diese nicht interpretiert werden?

    Viele Grüße

    Rici

  • Mit Stringtrim rechts/links die "-Zeichen entfernen oder evtl. besser mit Stringreplace die '"' im String entfernen.

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • HI,

    ich schaffe das nicht...

    Warum funktioniert der Code mit der Zeile4 und wenn ich die Zeile 6 Verwende, da funktioniert das nicht...

    Der Unterschied sind lediglich 2 Leerzeichen.

    [autoit]

    $bsp1 = ' "b" '

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $bsp2 = '><span class= "b" >9</span>&nbsp'

    [/autoit][autoit][/autoit][autoit]

    ;~ $bsp2 = '><span class="b">9</span>&nbsp'

    [/autoit][autoit][/autoit][autoit]

    $text = StringReplace($bsp2, $bsp1, "")
    $numreplacements = @extended
    MsgBox(0, "New string is", $text)
    MsgBox(0, "Anzahl an Ersetzungen", $numreplacements)

    [/autoit]

    Viele Grüße

    Rici

  • Hab den Fehler gefunden....

    Sorry,

    waren die Leerzeichen in der Variable :((

    Gruß

    Rici

  • Probiere es mal damit:

    [autoit]


    #include <Array.au3>
    $file = FileRead(@ScriptDir & "\test.txt")
    $aTemp = StringRegExp($file, ".*>(\d+)<.*", 3)
    _ArrayDisplay($aTemp)

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯