2016-07-25 21 views
0

ich in einer Datei wie folgt eine Zeichenfolge haben:extrahieren das genaue Wort aus einer Zeichenfolge in Power

<a href="DevOpsPortal-20160630_142543.zip">DevOpsPortal-20160630_142543.zip</a>   30-Jun-2016 14:26 3.71 MB 

aus denen will ich das Wort evOpsPortal-20160630_142543.zip allein als Ausgabe. Ich habe versucht, den Befehl

Get-Content .\file.txt | Select-String "[a-zA-Z]+-[0-9]+-[0-9]+-[0-9]+-[0-9]+-[0-9]+-[0-9]+.zip" 

verwenden, aber was sie zurückkehrte, war "DevOpsPortal-01-07-2016-15-18-56.zip 05-Jul-2016 11.16 3.60".

Wie kann ich nur das erwartete Wort von dieser Zeile bekommen?

Antwort

0

Schnappen the Matches property of the resulting object, und dann greifen die Value Eigenschaft aus, dass (hier ein einfacheres RegexMuster verwenden):

$myString = Get-Content .\file.txt |Select-String "\w+-\d+_\d+\.zip" |ForEach-Object { $_.Matches.Value } 
+0

Leider Mathias, machte ich einen Fehler in meiner Frage die eigentliche Zeichenfolge i Parsen sind, ist „DevOpsPortal-13-07-2016-12-51-40.zip.md5“ von dem ich nur DevOpsPortal-13-07-2016-12-51-40.zip will. Können Sie mir bitte helfen – Rajagopalan

+0

@Rajagopalan Antwort ist immer noch das gleiche :) Haben Sie es versucht? –

+0

Ich habe versucht, das "_" durch "-" zu ersetzen, aber jetzt gibt es nur 12-51-40 .zip – Rajagopalan