Collator: как добавить пространство в правила? - PullRequest
0 голосов
/ 27 августа 2018

Я использую собственный сортировщик для сортировки строк в соответствии с правилами грамматики венгров, но, похоже, по какой-то причине 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»).

Есть ли способ добавить значение пробела кпользовательские правила сортировщика?

1 Ответ

0 голосов
/ 27 августа 2018

Код ASCII \ x20 представляет пробел.Используйте значение \\ x20 в качестве значения для пробела. (\\ для экранирования литерала)

...