我正在使用一个自定义的排序器来根据匈牙利文法规则对字符串进行排序,但是由于某种原因,Java似乎认为'Budapesti‘大于'Budapest’(第一个意思是来自布达佩斯)。
下面是我对自定义排序器的当前规则:
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”)。
有没有办法将空格值添加到自定义排序器规则中?
发布于 2018-08-27 20:30:00
ASCII代码\x20表示一个空格。使用值\x20作为空格的值。(\以转义文字)
https://stackoverflow.com/questions/52033449
复制相似问题