Tôi đã phải làm một cái gì đó tương tự nhưng với một phương pháp StartsWith. Đây là một giải pháp đơn giản bắt nguồn từ @Serge - appTranslator.
Đây là một phương pháp mở rộng:
public static bool StartsWith(this string str, string value, CultureInfo culture, CompareOptions options)
{
if (str.Length >= value.Length)
return string.Compare(str.Substring(0, value.Length), value, culture, options) == 0;
else
return false;
}
Và đối với một quái vật lót;)
public static bool StartsWith(this string str, string value, CultureInfo culture, CompareOptions options)
{
return str.Length >= value.Length && string.Compare(str.Substring(0, value.Length), value, culture, options) == 0;
}
Accentitive incensitive và case incensitive startedWith có thể được gọi như thế này
value.ToString().StartsWith(str, CultureInfo.InvariantCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase)
string.Normalize
?