aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Extensions/StringHelper.cs
diff options
context:
space:
mode:
authorAndrew Rabert <ar@nullsum.net>2018-12-27 18:27:57 -0500
committerAndrew Rabert <ar@nullsum.net>2018-12-27 18:27:57 -0500
commita86b71899ec52c44ddc6c3018e8cc5e9d7ff4d62 (patch)
treea74f6ea4a8abfa1664a605d31d48bc38245ccf58 /MediaBrowser.Model/Extensions/StringHelper.cs
parent9bac3ac616b01f67db98381feb09d34ebe821f9a (diff)
Add GPL modules
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);
+ }
+ }
+}