aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Extensions/StringHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Extensions/StringHelper.cs')
-rw-r--r--MediaBrowser.Model/Extensions/StringHelper.cs57
1 files changed, 57 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Extensions/StringHelper.cs b/MediaBrowser.Model/Extensions/StringHelper.cs
new file mode 100644
index 000000000..fa79d09db
--- /dev/null
+++ b/MediaBrowser.Model/Extensions/StringHelper.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Text;
+
+namespace MediaBrowser.Model.Extensions
+{
+ /// <summary>
+ /// Isolating these helpers allow this entire project to be easily converted to Java
+ /// </summary>
+ public static class StringHelper
+ {
+ /// <summary>
+ /// Equalses the ignore case.
+ /// </summary>
+ /// <param name="str1">The STR1.</param>
+ /// <param name="str2">The STR2.</param>
+ /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
+ public static bool EqualsIgnoreCase(string str1, string str2)
+ {
+ return string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase);
+ }
+
+ /// <summary>
+ /// Replaces the specified STR.
+ /// </summary>
+ /// <param name="str">The STR.</param>
+ /// <param name="oldValue">The old value.</param>
+ /// <param name="newValue">The new value.</param>
+ /// <param name="comparison">The comparison.</param>
+ /// <returns>System.String.</returns>
+ public static string Replace(this string str, string oldValue, string newValue, StringComparison comparison)
+ {
+ var sb = new StringBuilder();
+
+ var previousIndex = 0;
+ var index = str.IndexOf(oldValue, comparison);
+
+ while (index != -1)
+ {
+ sb.Append(str.Substring(previousIndex, index - previousIndex));
+ sb.Append(newValue);
+ index += oldValue.Length;
+
+ previousIndex = index;
+ index = str.IndexOf(oldValue, index, comparison);
+ }
+
+ sb.Append(str.Substring(previousIndex));
+
+ return sb.ToString();
+ }
+
+ public static string FirstToUpper(this string str)
+ {
+ return string.IsNullOrEmpty(str) ? "" : str.Substring(0, 1).ToUpper() + str.Substring(1);
+ }
+ }
+}