- Offizieller Beitrag
Oh, mein Lieblingspattern (für StringRegExpReplace) zum extrahieren des Dateinamens aus einer Pfadangabe war immer:
[autoit]$string = StringRegExpReplace($sPath, '.+\\(.+)', '$1')
[/autoit]
Jetzt musste ich feststellen, dass es eine viel schnellere Methode gibt:
$sPath = @AutoItExe
$iTimer = TimerInit()
$string = StringRegExpReplace($sPath, '.+\\(.+)', '$1')
ConsoleWrite('Mit RegExpRep: ' & TimerDiff($iTimer) & @CR)
$iTimer = TimerInit()
$string = StringMid($sPath, StringInStr($sPath, '\', 2, -1) + 1)
ConsoleWrite('Mit StringMid: ' & TimerDiff($iTimer) & @CR)
Die StringMid/StringInStr-Version ist bei mir fast 4mal schneller.
Meistens spielt das ja keine so große Rolle, aber bei meinem aktuellen Projekt ist das schon entscheidend.
Nur als kleinen Tip für "Optimierungswütige"!