Hilfe beim Zerlegen eines Strings

  • Hallo Zusammen,

    ich habe hier einen relativ langen und in größten Teilen sich wiederholenden String. Diesen müsste ich in 2 Zerlegen, komme aber einfach nicht zum Ziel: Kann jemand helfen?

    String: "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_10DE&DEV_0007&SUBSYS_10DE0101&REV_1001\4&3F66A12&0&0301\DirectSound\Speaker Configuration\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_174B437B&REV_1001\4&3F66A12&0&0001\DirectSound\Speaker Configuration\"

    1 String sollte von Anfang bis zum 2ten HKEY_LOCAL_Maschine lauten
    2 String sollte von 2ten HKEY_LOCAL_Maschine bis Ende lauten.

    Die Inhalte dazwischen variieren.

    Danke und Grüße

    Alex

    Einmal editiert, zuletzt von bentom (14. Mai 2009 um 09:27)

  • [autoit]

    $string='HKEY_SADASDASFASDFASFSADFS/HKEY_SADASDASDASDAS'
    $string1=StringLeft($string,StringInStr($string,'HKEY',Default,-1)-1)
    $string2=StringTrimLeft($string,StringInStr($string,'HKEY',Default,-1)-1)

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Moin,

    wenn es immer nur zwei Registryeinträge sind, kannst Du es so machen:

    [autoit]


    #include <Array.au3>
    $ptn = "(HKEY_LOCAL_MACHINE.*)(HKEY_LOCAL_MACHINE.*)"
    $asResult = StringRegExp ($string, $ptn, 3)
    If (IsArray ($asResult)) Then
    _ArrayDisplay ($asResult)
    EndIf

    [/autoit]


    Gruß
    Greenhorn


  • Vielen Herzlichen Dank für eure Hilfe. Klappt wunderbar mit der Pattern Lösung.

    Grüße Aus München

    Alex