【发布时间】:2019-12-13 18:10:49
【问题描述】:
我想按本地化的国家名称对 Dart 中的国家列表进行排序。我就是这样做的:
final countryNames = CountryNames.of(context);
_countries.sort((a, b) =>
(countryNames.data[a.isoCode.toUpperCase()] ?? "").compareTo(
countryNames.data[b.isoCode.toUpperCase()] ?? ""));
我不担心countryNames.data 中找不到的国家/地区——我只是将它们从显示的列表中过滤掉。问题是在英语中,
奥兰群岛
出现在前向排序列表的底部,而在法语等特殊字符泛滥的语言中,情况更糟。
有没有一种惯用的方式在 Dart 中对字符串进行排序,以便更合理地处理特殊字符?
【问题讨论】: