Ich habe eine ziemlich große Textdatei, die einzelne in Anführungszeichen gesetzte Zeichenfolgen in Klammern enthält.RegEx Split in Abschnitte dann Zeichenfolgen übereinstimmen
[
'stringIneedToExtractBetweenSingleQuotes' some other
text
and
characters asdasf/*- 'AnotherStringIneedToExtract'
]
[
'anotherstring' some other
text and characters asdasfds/*- 'PleaseExtractMe'
]
[...]
Ich mag würde die Saiten zwischen Anführungszeichen in den getrennten Abschnitten durch Klammern begrenzt bekommen, wie Array-Indizes,
$array[0]
oder $matches[0]
stringIneedToExtractBetweenSingleQuotes
AnotherStringIneedToExtract
$array[1]
oder $matches[1]
anotherstring
PleaseExtractMe
Mit '(.*?)'
Ich kann alle Saiten zwischen einfachen Anführungszeichen extrahieren, aber ich bin nicht sicher, welcher Sinn zu verwenden macht:
Verwenden Powershell
.split(']')
Methode dann den Text in Arrays aufgeteilt'(.*?)'
verwenden, um die Saiten zu extrahieren.Am meisten bevorzugten Weg (wenn es möglich ist), verwenden Sie Regex, um diese Zeichenfolgen zu extrahieren und in Abschnitte unter Verwendung von [] als Trennzeichen aufzuteilen.
Ich denke nicht, dass Sie die Zeichenfolge teilen müssen, verwenden Sie nur Sammelgruppen, nachdem Sie Ihre Regex ausgeführt haben. https://mcpmag.com/articles/2015/09/30/regex-groups-with-powershell.aspx –
_pretty große Textdatei_ ist subjektiv. Können Sie das mit Anzahl oder Zeilen oder durchschnittlicher Dateigröße quantifizieren? – Matt
Gibt es irgendwelche einfachen Anführungszeichen, die die Klammern in Ihrer Datei _outside_ enthalten? Oder muss das Vorhandensein der Klammern nicht wirklich berücksichtigt werden? – Matt