Hallo,
ich stehe vor dem Problem das ich einen String (z.B. "Von2009BisHeute") in seine Worte aufteilen muss.
Sprich das Ergebnis muss so aussehen "Von 2009 Bis Heute". Ich habe leider rechtherzlich wenig Ahnung von Regex!
Könnt Ihr mir vllt. Tipps geben wie ich das anstellen könnte?
Mit freundlichen Grüße,
Jan
Du koenntest versuchen ein Regex Pattern zu erstellen, das immer von einem Großbuchstaben aus bis zum naechsten Vorkommnis eines Großbuchstaben splittet und im Anschluss die Zahl extrahieren.
Ist sicherlich nicht best practice, wuerde aber funktionieren.
be the hammer, not the nail!
Hm Regex ist sicherlich die beste Lösung für dieses Problem, jedoch habe ich keine Ahnung von Regex. (Ich erwarte nicht das ich eine Fertige Lösung kriege)
:-|
Hallo,
war das nur ein Beispiel-String oder sehen alle so aus?
Folgendes würde für das o.g. Beispiel klappen:
var s = "Von2009BisHeute";
var r = new Regex(@"([A-Z][a-z]+|\d+)+?");
var joined = string.Join(" ", r.Matches(s).OfType<Match>().Select(f => f.Groups[1]));
Gruß
Daniel
Weitere Beispiele sind:
ProcessWindowStyle
ProcessPriorityClass
Office2007Blue
SparklePuprle
Office2010Black
Ist natürlich auch Möglich das der Zahlenblock am Anfang oder Ende kommt!
Das Regex sollte all diese Fälle abdecken.