c# - 如何匹配不同语言的数字?

标签 c# .net regex

我有一个日文数字和一个英文数字。

example:
In japanese language six=6
In english language six=6

所以当我比较这个值时它返回 false 我使用了 CompareTo() 但它没有返回 0

如何匹配这个值????

最佳答案

您可以使用 Normalize(NormalizationForm.FormKC) 将国际数字简化为对应的英语/阿拉伯语数字。

"6".Normalize(NormalizationForm.FormKC); // returns "6"
"6".Normalize(NormalizationForm.FormKC); // also returns "6"

您可以将比较提取到一个方法中:

static bool IsEqualAfterNormalizingKC(string s1, string s2) {
    if (s1 == null && s2 == null) return true;
    if (s1 == null || s2 == null) return false;
    return s1.Normalize(NormalizationForm.FormKC) == s2.Normalize(NormalizationForm.FormKC);
}
IsEqualAfterNormalizingKC("6", "6"); // true

关于c# - 如何匹配不同语言的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418262/

相关文章:

c# - LInq to SQL - 部分类 - C#

c# - 如何在 cshtml(razor)上设置属性?

.net - 如何使用 Azure 在 Kotlin Android 应用程序和 .NET Core 之间传输位图?

.net - 从 ninject 获取所有具体类型

javascript - 如何仅从整个字符串的开头删除括号中的字符串?

c# - WPF 在 WPF 窗口中打开 exe 程序

c# - 如何创建 ItemCollection 的新实例

c# - 如果没有应用程序回收,在 ASP.NET 中使用后台 worker 有好处吗?

php - 如何使这个 preg_match 不区分大小写?

php - 高亮文本,除了 html 标签