C# : Dividere una stringa PascalCase in parole separate

12. febbraio 2012 18.50 by in .Net  //  Tags: , ,   //   Commenti (0)

Utilissima soluzione per dividere una stringa PascalCase (es. AutomaticTrackingSystem) in parole separate

string[] tests = {
   "AutomaticTrackingSystem",
   "XMLEditor",
   "AnXMLAndXSLT2.0Tool",
};


Regex r = new Regex(
    @"(?<=[A-Z])(?=[A-Z][a-z])|(?<=[^A-Z])(?=[A-Z])|(?<=[A-Za-z])(?=[^A-Za-z])"
  );

foreach (string s in tests)
  r.Replace(s, " ");

Risultato

[Automatic][Tracking][System]
[XML][Editor]
[An][XML][And][XSLT][2.0][Tool]

 

Fonte :  Split a PascalCase string into separate words