我们正在使用IBM ICU Collator来排序我们的一些内部字符串列表。那些字符串列表有特殊的字符,比如0x1,0x2,0x3来分隔一些内部结构,字符串列表也可能包含一些混合语言。
然后我们发现IBM ICU Collator以意想不到的方式对它们进行排序,例如,我们有字符串:
firstName firstName\x1Account Name firstName - lastName
\ x1表示十进制值为1的字符。
我们希望排序保持顺序,但相反,它会在英语区域设置中提供以下结果:
firstName firstName - lastName firstName\x1Account Name
我们想知道是否有任何设置,以便我们可以使用小于0x5的特殊字符。
感谢。
答案 0 :(得分:0)
我建议只将各个子字段排序在一起。除此之外,您可以附加一个规则字符串,例如& \uFFFF = \u0001 = \u0002 = \u0003 = \u0004 = \u0005
,它会说0x1,2,3,4,5比任何其他文本都排序。