Version aus String extrahieren

  • das Folgende funktioniert nicht so wie ich es erwarte.
    Aus "$sString" möchte ich die Version extrahieren, die hinter "MVFS version" steht, also "8.0.1.2".
    "StringRegExpReplace" liefert aber alles außer "MVFS version".

    Was mache ich falsch?

    $sString = "ClearCase version 8.0.1.01 (Fri Sep 20 16:09:14 EDT 2013) (8.0.1.01.00_2013C.FCS)" & @CRLF & _
    "@(#) MVFS version 8.0.1.2 (Mon Nov 18 14:43:23 2013)" & @CRLF & _
    "VOB database schema versions: 54, 80"

    $aRegexp = StringRegExpReplace($sString, "(?s)MVFS version\s+(\S)", '$1')

    Einmal editiert, zuletzt von assing (11. Februar 2014 um 17:53)

  • versuchs mal mit _StringBetween ... du möchtest ja einen teilstring innerhalb eines Stringes haben ...

    [autoit]

    $sString = "ClearCase version 8.0.1.01 (Fri Sep 20 16:09:14 EDT 2013) (8.0.1.01.00_2013C.FCS)" & @CRLF & _
    "@(#) MVFS version 8.0.1.2 (Mon Nov 18 14:43:23 2013)" & @CRLF & _
    "VOB database schema versions: 54, 80"

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

    ;$aRegexp = StringRegExpReplace($sString, "(?s)MVFS version\s+(\S)", '$1')

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

    ; Returns the string between the start search string and the end search string.
    Local $aArray1 = _StringBetween($sString, 'MVFS version ', ' (')
    _ArrayDisplay($aArray1, 'Default Search')

    [/autoit]

    gruß gmmg :)

  • Vielen Dank, funktioniert super.
    Aber bei meinem Versuch hätte ich auch erwartet, das die Variable $1 in der Funktion "StringRegExpReplace" genau die gesuchte Version liefert und nur die anschließend in $aRegexp steht.

    Wie auch immer.
    Danke für deine Lösung. Wieder was gelernt.

    Gruß,
    Michael

  • Vielen Dank, funktioniert super.
    Aber bei meinem Versuch hätte ich auch erwartet, das die Variable $1 in der Funktion "StringRegExpReplace" genau die gesuchte Version liefert und nur die anschließend in $aRegexp steht.

    Wie auch immer.
    Danke für deine Lösung. Wieder was gelernt.

    Gruß,
    Michael


    Dann setzte doch noch bitte den Thread-Präfix auf "gelöst".
    Einfach den 1. Beitrag bearbeiten ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski