Ich möchte in der Lage sein, eine Textdatei in Windows nach einem Stich ("A R") zu suchen und jede Instanz der Zeichenfolge sowie die vorherigen 17 Zeichen zurückzugeben. Die Zeichen enthalten Zahlen, Bindestriche und Schrägstriche. Unglücklicherweise sind die Strings, nach denen ich suche, in einem Chaos von Informationen enthalten, daher ist es nicht wirklich eine Option, einfach jede Zeile zurückzugeben, auf der "A R" gefunden wird.Sub-String suchen und zurückgeben plus vorherige 17 Zeichen
Ich habe versucht, eine Möglichkeit zu finden, FINDSTR in CMD einfach zu verwenden und die Ausgabe in eine results.txt umzuleiten, aber die FINDSTR lässt mich nicht so viele Zeichen passieren (siehe unten).
findstr /r /c:"[0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z][0-Z]A R" CombineXML.txt >results.txt
Die Ergebnisse sollten wie etwas aussehen:
05-24-00-212-805-AR
25-23-00-300-801-AR
79 -33-03-400-801-AR
Ich habe nur Zugang zu NetBeans (nicht sehr erfahren in Java), VBA und Windows Batch Scripting (Firmencomputer = keine Admin-Rechte, n o Python, kein Visual Studio ... grrr).
Ich habe eine Woche lang mein Gehirn zerrupft, um das herauszufinden.
Irgendwelche Ideen?
Welche Version von Windows verwenden Sie? Ist Windows 7 oder höher PowerShell oder VBScript/JScript blockiert? –
'findstr' ist nicht in der Lage, aus einer Zeichenfolge zu extrahieren, Sie geben nur eine Suchzeichenfolge (mit sehr eingeschränkter REGEX-Unterstützung) und immer die gesamte Zeile zurück. – Stephan
In VBA können Sie einen Verweis auf "Microsoft VBScript Regular Expressions 5.5" hinzufügen? Wenn ja, können Sie es in VBA tun. Natürlich können Sie VBScript selbst verwenden, wenn Sie Zugriff darauf haben. Es ist ähnlich wie VBA. –