【问题标题】:Collator: how to add space to the rules?Collat​​or:如何在规则中添加空间?
【发布时间】:2019-02-01 15:29:58
【问题描述】:

我正在使用自定义整理器根据匈牙利语法规则对字符串进行排序,但出于某种原因,Java 似乎认为“布达佩斯”大于“布达佩斯”(布达佩斯的第一个意思)。

这是我当前的自定义整理器规则:

String hungarianRules = (
            "< 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9" +
            "< a,A < á,Á < b,B < c,C < d,D < e,E < é,É < f,F < g,G < h,H < i,I < í,Í < j,J < k,K < l,L < m,M < n,N " +
            "< o,O < ó,Ó < ö,Ö < ő,Ő < p,P < q,Q < r,R < s,S < t,T < u,U < ú,Ú < ü,Ü < ű,Ű < v,V < w,W " +
            "< x,X < y,Y < z,Z < \u0020 " );

但是如果我尝试使用这个规则来处理字符串,我会得到以下异常:

Java.text.ParseException: missing chars (=,;<&): 
    at java.text.PatternEntry$Parser.next(PatternEntry.java:276)

据我了解,这是因为处理到达了同一字符串中两个单词之间的“空格”字符(如“Budapest Állami Levéltár”)。

有没有办法将空格的值添加到自定义整理器规则中?

【问题讨论】:

  • 你可以试试 ASCII 码 - \x20
  • 如果我像这样添加它:" ...
  • 我必须将它添加到规则集的开头,但它正在工作。现在谈谈出现的其他问题......上帝,我讨厌我的语言......

标签: java sorting collator


【解决方案1】:

ASCII 码 \x20 代表一个空格。使用值 \\x20 作为空格的值。(\\ 转义文字)

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 2020-01-06
    • 2018-09-22
    • 1970-01-01
    • 2019-09-25
    • 2011-11-10
    • 2018-05-09
    • 2013-11-11
    相关资源
    最近更新 更多