Hallo zusammen,
in einem Text (context) möchte ich nach bestimmten Textmustern suchen.
Buchstabe1 + Buchstabe2 + Null bis Zwei Leerzeichen + Drei bis Neun Ziffern
Bisher mache ich das so...
und anschließend validiere ich meine Matches anhand eines Arrays (sparten) mit gültigen Buchstabenkombinationen
Da sich die Bereiche Buchstabe1 und Buchstabe2 zukünftig auch ändern könnten,
möchte ich das Suchmuster mit dem aus dem Array gültigen Buchstabenkombinationen (Dieses Array ergibt sich aus einem Xml das ich beim Programmstart auslese) wie folgt umstellen:
Irgendwie so...
Zweistellige Buchstabenkombination1 bis Zweistellige Buchstabenkombination14 + Null bis Zwei Leerzeichen + Drei bis Neun mal eine Ziffer
Außerdem würde ich mir dann das Validieren sparen, da das Suchmuster nur gültige Buchstabenkombinationen enthält.
Die einzige Lösung die mir einfällt ist alle Buchstaben in das Suchmuster auf zu nehmen und weiterhin im Anschluss zu validieren.
Kann mir jemand helfen
Wie würdet ihr das lösen?
Viele Grüße
Sven aus HH
in einem Text (context) möchte ich nach bestimmten Textmustern suchen.
Buchstabe1 + Buchstabe2 + Null bis Zwei Leerzeichen + Drei bis Neun Ziffern
Bisher mache ich das so...
Code:
Match match = Regex.Match(content.ToUpper(), @"[SLKHGADTIUVFBC][VRFASLTBNGI][ ]{0,2}[0-9]{3,9}");
Code:
List<string> results = new List<string>(); while (match != null && match.Success) { results.AddRange(from sparte in sparten where match.Value.StartsWith(sparte) select match.Value.Replace(" " , "")); match = match.NextMatch(); }
möchte ich das Suchmuster mit dem aus dem Array gültigen Buchstabenkombinationen (Dieses Array ergibt sich aus einem Xml das ich beim Programmstart auslese) wie folgt umstellen:
Irgendwie so...
Zweistellige Buchstabenkombination1 bis Zweistellige Buchstabenkombination14 + Null bis Zwei Leerzeichen + Drei bis Neun mal eine Ziffer
Außerdem würde ich mir dann das Validieren sparen, da das Suchmuster nur gültige Buchstabenkombinationen enthält.
Die einzige Lösung die mir einfällt ist alle Buchstaben in das Suchmuster auf zu nehmen und weiterhin im Anschluss zu validieren.
Code:
Match match = Regex.Match(content.ToUpper(), @"[A-Z][A-Z][ ]{0,2}[0-9]{3,9}"); List<string> results = new List<string>(); while (match != null && match.Success) { results.AddRange(from sparte in sparten where match.Value.StartsWith(sparte) select match.Value.Replace(" " , "")); match = match.NextMatch(); }
Wie würdet ihr das lösen?
Viele Grüße
Sven aus HH
Comment