【问题标题】:Sort Japanese Text using "aiueo" order使用“aiueo”顺序对日文文本进行排序
【发布时间】:2009-05-01 14:32:39
【问题描述】:

我正在尝试使用“aiueo”顺序对一些日本商店名称进行排序

有没有人知道是否有算法可以做到这一点

我写了一个如下比较器,但我相信 ja-jp 文化使用 Unicode 排序

internal class JewellerComparer : IComparer<string>
    {
        private readonly string _culture;

        public JewellerComparer(string culture)
        {
            _culture = culture;
        }

        public int Compare(string x, string y)
        {
            // no culture specified in constructor
            if (string.IsNullOrEmpty(_culture))
                return x.CompareTo(y);

            // otherwise to a culture sensitive comparison
            return string.Compare(x, y, false, new CultureInfo(_culture));
            //new CultureInfo(0x00010411); // ja-JP Japanese - Japan Default: 0x00000411 Unicode: 0x00010411 
        }
    }

有人对如何做到这一点有任何想法吗?

【问题讨论】:

  • 您的字符串是使用拉丁字符还是平假名字符?

标签: .net sorting cultureinfo


【解决方案1】:

是的,有。您所需要的只是一个区域感知排序。我既不是 Java 专家也不是用户,但我会在 C 语言中使用 strcoll 和 qsort。

或者,可以尝试使用 libicu(还有一个 java 绑定),如果它提供一些排序,我不确定它是否尊重语言环境。

【讨论】:

    猜你喜欢
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    相关资源
    最近更新 更多