ICU:演示区分大小写的排序

ICU: demonstrate case-sensitive sorting

ICU collation demo 页面上,我在 Input 文本框中输入了以下单词:

Adam
apple
Bob

如何设置区分大小写排序,其中

  1. 小写字母在前,即 apple < Adam < Bob,
  2. 大写字母在前,即 Adam < Bob < apple?

你能解释一下吗?

如果您先指定大小写:小写字母,则在该组中小写字母排在大写字母之前。在下面的示例中,2A 字符串排在 5C 字符串之前。在 2A 字符串中,05 排序在一起,u1c 排序在 _05 之前。

我指定了以下设置:

  • 实力:初级
  • 案件级别:开
  • 大小写优先:较低

输入:ADam, Za, ZA, zzz, Zb, Adam, apple, ADAM
输出:

Adam  [2A,05,u1C][30,05,_05][2A,05,_05][42,05,_05]  
ADam  [2A,05,u1C][30,05,u1C][2A,05,_05][42,05,_05]  
ADAM  [2A,05,u1C][30,05,u1C][2A,05,u1C][42,05,u1C]  
apple [2A,05,_05][48,05,_05][48,05,_05][40,05,_05][32,05,_05]  
Za    [5C,05,u1C][2A,05,_05]  
ZA    [5C,05,u1C][2A,05,u1C]  
Zb    [5C,05,u1C][2C,05,_05]  
zzz   [5C,05,_05][5C,05,_05][5C,05,_05]

先切换箱子,再切换亚当的反位置。

您还可以通过添加自己的规则来定制排序。

 & z <* A-Z

将所有小写字符串放在大写字符串之前。因此,选择所有默认值后,输出为:

 apple [2A,05,_05][48,05,_05][48,05,_05][40,05,_05][32,05,_05]
 zzz   [5C,05,_05][5C,05,_05][5C,05,_05]
 Adam  [5D02,05,u05][30,05,_05][2A,05,_05][42,05,_05]
 ADam  [5D02,05,u05][5D0502,05,u05][2A,05,_05][42,05,_05]
 ADAM  [5D02,05,u05][5D0502,05,u05][5D02,05,u05][5D050B,05,u05]
 Za    [5D0518,05,u05][2A,05,_05]
 Zb    [5D0518,05,u05][2C,05,_05]
 ZA    [5D0518,05,u05][5D02,05,u05]