首页 > 解决方案 > 在java中先用数字排序数据,再用字母排序

问题描述

嗨,我有一个字符串形式的输入列表,它将包含完整的数字 {digits} 或 {character}{digits} 的组合,我希望使用 java 按以下顺序排序。

输入:{“1”,“21”,“12”,“12345”,“CA23456”,“CA123”,“IND123”} 输出:{“1”,“12”,“21”,“12345”, "CA123","CA23456","IND123"}

标签: javasortingalphanumerictreesetalphabet

解决方案


如果字符串是正确的 JSON,那会容易得多。但这里有一个建议:

void orderStringList(final String str) {
     List<String> parts = str.replaceAll("[^a-zA-Z0-9,]", "").split(",");
     Collections.sort(parts);
     return parts;
}

推荐阅读