Hallo zusammen,
ich möchte folgenden String filtern mit Regex,
bekomme in aber nicht richtig zusammengebaut.
ich hoffe ihr könnt mir helfen.
Das Tutorial hab ich schon gelesen.
Der String lautet:
170GERN117PLG00103001000000.pdf
Folgende Regular Expressions hab ich bisher:
^[0-9][a-zA-Z][0-9][a-zA-Z][0-9]{3}
Ergibt bisher (nur Fettgedruckter Teil):
170GERN117PLG00103001000000.pdf
Ziel sollte aber sein (nur Fettgedruckter Teil):
170GERN117PLG00103001000000.pdf
Danke euch schon mal für eure Hilfe.
Viele Grüße
Hallo nasenkalli,
habs mal so auf die Schnelle zusammengestellt:
Regex r = new Regex("(^[0-9]*[a-zA-Z]*[0-9]*[a-zA-Z]*[0-9]{3})|(001000)");
var m = r.Matches("170GERN117PLG00103001000000.pdf");
string s = string.Empty;
foreach (var VARIABLE in m)
{
s += Environment.NewLine + VARIABLE;
}
Gruß
Michael
Vielen tausend Dank, das ging ja mal schnell!
Du glaubst gar nicht wie sehr du mir geholfen hast.
Fühl dich gedrückt. 😉
Hab mich zu früh gefreut.
Die letzten 6 Stellen sind auch immer variabel,
also auch z.B. 170GERN117PLG00103003002000.pdf
Dann kannst du es mit Gruppen lösen:
170GERN117PLG001 + 2 beliebige unwichtige Zahlen + 6 beliebige wichtige Zahlen
Regex r = new Regex("(?<gruppe1>^[0-9]*[a-zA-Z]*[0-9]*[a-zA-Z]*[0-9]{3})(?<ZweiUnwichtigeZahlen>[0-9]{2})(?<weitere6>[0-9]{6})");
var m = r.Match("170GERN117PLG00103001000000.pdf");
if(m.Groups["gruppe1"].Success && m.Groups["weitere6"].Success)
{
[...]
}
Schon gut, löse es mit den Bordmitteln von Regex.
Danke vielmals noch.
Hallo nasenkalli,
alternativ kannst du auf LINQ verwenden. Die String-Klasse bietet unter anderem einige sehr hilfreiche Erweiterungsmethoden(Extension Methods).
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.