我不得不做类似的,但有StartsWith方法的东西。这是一个从@Serge - appTranslator派生而来的简单解决方案。
下面是一个扩展方法:
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;
}
以及用于一个衬垫畸形;)
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;
}
口音incensitive和壳体incensitive startsWith可以称为像这样
value.ToString().StartsWith(str, CultureInfo.InvariantCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase)
这是比直接比较字符串更好的方法,但它仍然考虑基本字母及其重音版本*不同*。因此,它不回答原来的问题,它希望忽略重音。 – 2013-05-15 14:43:49