diff options
Diffstat (limited to 'Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs')
| -rw-r--r-- | Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs b/Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs index 049c9c4af..5699d27a0 100644 --- a/Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs +++ b/Software/Visual Studio/Tango.Core/ExtensionMethods/StringExtensions.cs @@ -2,10 +2,24 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; public static class StringExtensions { + private static Regex titleRegEx; + + /// <summary> + /// Initializes the <see cref="StringExtensions"/> class. + /// </summary> + static StringExtensions() + { + titleRegEx = new Regex(@" + (?<=[A-Z])(?=[A-Z][a-z]) | + (?<=[^A-Z])(?=[A-Z]) | + (?<=[A-Za-z])(?=[^A-Za-z])", RegexOptions.IgnorePatternWhitespace); + } + /// <summary> /// Normal ToString conversion with null checking. /// </summary> @@ -25,4 +39,14 @@ public static class StringExtensions { return str.Split(new[] { '\r', '\n' }).ToList(); } + + /// <summary> + /// Formats the string to title style. + /// </summary> + /// <param name="str">The string.</param> + /// <returns></returns> + public static String ToTitle(this String str) + { + return titleRegEx.Replace(str, " "); + } } |
