我需要比较C#中的2个字符串,并将重音字母视为非重音字母。例如:
string s1 = "hello";
string s2 = "héllo";
s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase);
s1.Equals(s2, StringComparison.OrdinalIgnoreCase);这两个字符串需要相同(就我的应用程序而言),但这两个语句的计算结果都为false。在C#中有没有办法做到这一点?
发布于 2011-10-11 10:48:31
如果不需要转换字符串,并且只想检查是否相等,可以使用
string s1 = "hello";
string s2 = "héllo";
if (String.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace) == 0)
{
// both strings are equal
}或者,如果您还希望比较不区分大小写
string s1 = "HEllO";
string s2 = "héLLo";
if (String.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) == 0)
{
// both strings are equal
}https://stackoverflow.com/questions/359827
复制相似问题