TischlerVS
Grünschnabel
Hallo,
ich möchte alle Dateien in einem Ordner, die einem bestimmten Muster entsprechen, in ein Array einlesen.
Suchmuster:
- Datei beginnt mit mindestens einem beliebigen Zeichen
- Vor dem Dateikürzel darf kein "_id1234" stehen ( Zahl 1 bis unendlich)
- erlaubte Dateikürzel sind ".txt" oder ".csv"
Ich möchte dies gerne mit einem Regex lösen.
Bedingung trifft zu auf:
FilenameABC.txt
FilenameXYZ.csv
Bedingung trifft nicht zu auf:
FilenameABC_id1234.txt
FilenameABC_id12.csv
Die umgekehrte Suche, also für alle Dateien mit "_id1234", habe ich schon mit folgendem Suchmuster hinbekommen:
.+(_id[1-9]\d{0,})\.(txt|csv)$
Wie muss das Suchmuster für Regex lauten, damit alle Dateien ohne "_id1234" im Namen gefunden werden?
Mein Code sieht bisher so aus:
ich möchte alle Dateien in einem Ordner, die einem bestimmten Muster entsprechen, in ein Array einlesen.
Suchmuster:
- Datei beginnt mit mindestens einem beliebigen Zeichen
- Vor dem Dateikürzel darf kein "_id1234" stehen ( Zahl 1 bis unendlich)
- erlaubte Dateikürzel sind ".txt" oder ".csv"
Ich möchte dies gerne mit einem Regex lösen.
Bedingung trifft zu auf:
FilenameABC.txt
FilenameXYZ.csv
Bedingung trifft nicht zu auf:
FilenameABC_id1234.txt
FilenameABC_id12.csv
Die umgekehrte Suche, also für alle Dateien mit "_id1234", habe ich schon mit folgendem Suchmuster hinbekommen:
.+(_id[1-9]\d{0,})\.(txt|csv)$
Wie muss das Suchmuster für Regex lauten, damit alle Dateien ohne "_id1234" im Namen gefunden werden?
Mein Code sieht bisher so aus:
Visual Basic:
Dim pattern As String = ".+(_id[1-9]\d{0,})\.(txt|csv)$"
Dim files As IEnumerable(Of String) = Directory.GetFiles(path).Where(Function(f) Regex.IsMatch(f, pattern, RegexOptions.IgnoreCase))
Zuletzt bearbeitet: