#nullable enable using System; namespace MediaBrowser.Common.Extensions { /// /// Extensions methods to simplify string operations. /// public static class StringExtensions { /// /// Returns the part on the left of the needle. /// /// The string to seek. /// The needle to find. /// The part left of the . public static ReadOnlySpan LeftPart(this ReadOnlySpan haystack, char needle) { var pos = haystack.IndexOf(needle); return pos == -1 ? haystack : haystack[..pos]; } /// /// Returns the part on the left of the needle. /// /// The string to seek. /// The needle to find. /// One of the enumeration values that specifies the rules for the search. /// The part left of the needle. public static ReadOnlySpan LeftPart(this ReadOnlySpan haystack, ReadOnlySpan needle, StringComparison stringComparison = default) { var pos = haystack.IndexOf(needle, stringComparison); return pos == -1 ? haystack : haystack[..pos]; } } }