我正在尝试使用“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
}
}
任何人对如何做到这一点都有任何想法?
答案 0 :(得分:0)
是的,有。您所需要的只是一个区域设置感知的排序。我不是Java专家也不是用户,但是使用strcoll结合qsort就是我在C中所做的。
或者,可以尝试使用libicu(还有一个java绑定),如果它提供了一些排序,我不确定它是否尊重语言环境。