在 Kotlin 中对特殊字符串进行排序

Lom*_*ana 0 kotlin

我有一个包含特殊字符的字符串列表。

\n

例如:

\n
\n

[“格本”,“Zur\xc3\xbcck”,“\xc3\x9cber”,“\xc3\x84pfel”]

\n
\n

我需要在 Kotlin 中对这个列表进行排序以获得以下输出:

\n
\n

升序:["\xc3\x84pfel"、"Geben"、"\xc3\x9cber"、"Zur\xc3\xbcck"]

\n
\n
\n

降序:["Zur\xc3\xbcck", "\xc3\x9cber", "Geben", "\xc3\x84pfel"]

\n
\n

这个怎么做?

\n

编辑:\n使用sortedBy给出以下不需要的输出:

\n
\n

[“格本”,“Zur\xc3\xbcck”,“\xc3\x84pfel”,“\xc3\x9cber”]

\n
\n

Kar*_*iel 5

您可以通过使用可识别德语变音符号的整理器来实现此目的:

fun Iterable<String>.sortedWithUmlauts() =
    sortedWith(Collator.getInstance(Locale("de", "DE")))
Run Code Online (Sandbox Code Playgroud)

  • 有什么办法可以通用地完成此操作,例如,如果列表包含德语和法语字符串? (2认同)