Zahl aus einer htm-Datei auslesen

  • Schönen guten Morgen

    Ich habe ein kleines Problemchen mit dem Auslesen einer htm-Datei.

    Erklärung was ich benötige:
    In einer htm-Datei steht folgende Zeile: <tr><td class="value"><strong>PassMark Rating</strong></td><td class="maxvalue">683.8</td></tr>
    Ich möchte jetzt die "683.8" ausgeben. Das ist ein Leistungswert und der ist jedes mal anders. Falls das wichtig ist, er wird immer 4-Stellig sein und eine Nachkommastelle haben
    (z.B. 1234.5).

    Meine bisherige Lösung funktioniert in meinem Test, ist aber sehr schwammig. Ich lese den Wert anhand seiner Position (Zeile und Zeichen in der der Zeile) aus.
    Ich befürchte das ich damit aber Probleme bekomme.

    Wie kann ich nach der betreffenden Zeile innerhalb der Datei suchen (z.B. "PassMark Rating" ist eindeutig) und wie bekome ich dann die Zahl heraus opperiert.
    Ich kann mit StringInStr nach " PassMark Rating" suchen aber wie müsste ich dann weiter machen?
    Habe mir auch schon SringRegExp und StringFormat angeschaut, komme aber auch damit nicht weiter.

    Mein aktuelles Skript:

    [autoit]

    Local $file = FileOpen("test.htm", 0)
    Local $line = FileReadLine($file,96)
    MsgBox(0, "Zeile gelesen:", $line)
    Local $wert = StringMid ( $line, 81 , 6 )
    MsgBox(0, "", $wert)
    FileClose($file)

    [/autoit]

    Vielen Dank schon mal und ich hoffe mir kann einer helfen

    wer später bremst, ist länger schnell ...
    ... und wer länger schnell ist, ist früher da.

    Einmal editiert, zuletzt von Mischko (8. März 2014 um 11:38)

  • Hi,
    so?

    Spoiler anzeigen
    [autoit]

    #include <String.au3>
    $line='<tr><td class="value"><strong>PassMark Rating</strong></td><td class="maxvalue">683.8</td></tr>'

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

    $value=_stringbetween($line,'<td class="maxvalue">','</td></tr>')

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

    msgbox (0,0,$value[0])

    [/autoit]


    Du musst nicht mal die Zeile finden, nimm einfach

    [autoit]

    $line=fileread("test.htm")

    [/autoit]