In String nach "Votes :" suchen, und das darauf folgende zurückgeben

  • Hi :)
    Ich habe einen String, der z.B. so aussieht "blabla irgendwas Votes: 123 bla bla irgendwas."
    Die Zahl hinter "Votes: " will ich haben.
    Wie mach ich das ?
    Mit StringInStr geht das doch nicht, oder ?
    Ich weiß nicht, wie viele Zeichen vor dem Vote kommen, also hilft mir StringTrimLeft auch nicht.

    Kann mir einer helfen ? :o

    2 Mal editiert, zuletzt von v1Dr333s (3. April 2013 um 03:33)

  • [autoit]


    $sStr = "bla Votes: 45 bli blubb"
    $aRet = StringRegExp($sStr, "Votes: (\d*)", 3)
    ConsoleWrite($aRet[0] & @CRLF)

    [/autoit]

    Mit Handy getippt, ergo keine Garantie.

    Darf man fragen, was du vorhast?

    lg

    funktioniert, vielen dank :)
    ich möchte von einer seite auslesen, wieviele votes ein teilnehmer von nem voting hat.

    Einmal editiert, zuletzt von v1Dr333s (3. April 2013 um 03:46)

  • Mit StringInStr geht das doch nicht, oder ?


    Kann nützlich sein:

    Zitat

    StringInStr

    Prüft, ob ein String einen angegebenen Unterstring enthält.
    ...
    Erfolg: Gibt die Position des Unterstrings zurück.

    dadurch weist du schon die Position von "Votes: " von hier aus ist alles nur noch abzählen unter Zuhilfenahme eines 2. StringInStr:

    [autoit]

    $sVotes = "blabla irgendwas Votes: 123 bla bla irgendwas."
    $iPos = StringInStr($sVotes,"Votes: ")
    $sVotes2 = StringMid($sVotes,$iPos+7)
    $sVotes= StringLeft($sVotes2,StringInStr($sVotes2," ")-1)
    MsgBox(0,'Votes:',$sVotes)

    [/autoit]

    eine andere Möglichkeit:

    [autoit]

    $sVotes = "blabla irgendwas Votes: 123 bla bla irgendwas."
    $aTmp = StringSplit($sVotes, "Votes: ", 3)
    If IsArray($aTmp) Then
    $aVotes = StringSplit($aTmp[1], " ", 3)
    If IsArray($aVotes) Then
    MsgBox(0, 'Votes:', $aVotes[0])
    Else
    MsgBox(0, 'Votes:', 'keine Votes gefunden!')
    EndIf
    Else
    MsgBox(0, 'Votes:', 'keine Votes gefunden!')
    EndIf

    [/autoit]

    die kürzeste Lösung hat dir ja bereits die Schachkatze gezeigt.

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (3. April 2013 um 03:36)