diff --git a/ICD.Common.Utils.Tests/StringUtilsTest.cs b/ICD.Common.Utils.Tests/StringUtilsTest.cs
index c819051..0a56a34 100644
--- a/ICD.Common.Utils.Tests/StringUtilsTest.cs
+++ b/ICD.Common.Utils.Tests/StringUtilsTest.cs
@@ -67,6 +67,13 @@ namespace ICD.Common.Utils.Tests
Assert.AreEqual("Foobar", StringUtils.UppercaseFirst("foobar"));
}
+ [TestCase("test", "Test")]
+ [TestCase("test test", "Test Test")]
+ public static void ToTitleCase(string input, string expected)
+ {
+ Assert.AreEqual(expected, StringUtils.ToTitleCase(input));
+ }
+
[Test, UsedImplicitly]
public void ToIpIdStringTest()
{
diff --git a/ICD.Common.Utils/StringUtils.cs b/ICD.Common.Utils/StringUtils.cs
index 6086721..c256216 100644
--- a/ICD.Common.Utils/StringUtils.cs
+++ b/ICD.Common.Utils/StringUtils.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -483,6 +484,17 @@ namespace ICD.Common.Utils
return char.ToUpper(input[0]) + input.Substring(1);
}
+ ///
+ /// Capitalizes the first character of each word.
+ ///
+ ///
+ ///
+ [PublicAPI]
+ public static string ToTitleCase(string input)
+ {
+ return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
+ }
+
///
/// Formats an IPID to "0xFF"
///