C#文字列の比較では、多くの場合、ケースマークとアクセントマークの両方を無視する必要があります。 アクセントされた文字を適切に処理しないでください。 これには、正確な比較のためのカスタムソリューションが必要です ディークリティクスの削除(アクセント)
StringComparison.InvariantCultureIgnoreCase
次の関数は、文字列から発音科学を効率的に除去します:StringComparison.OrdinalIgnoreCase
この関数:
正規化:
入力文字列をstatic string RemoveAccents(string text) { string normalized = text.Normalize(NormalizationForm.FormD); StringBuilder sb = new StringBuilder(); foreach (char c in normalized) { if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark) { sb.Append(c); } } return sb.ToString().Normalize(NormalizationForm.FormC); }
NormalizationForm.FormD
を適用します。NormalizationForm.FormC
を使用してください:以上がアクセントされた文字を無視しながら、C#でCase-ofsensensitive String比較を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。