java - 在java中先用数字排序数据,再用字母排序
问题描述
嗨,我有一个字符串形式的输入列表,它将包含完整的数字 {digits} 或 {character}{digits} 的组合,我希望使用 java 按以下顺序排序。
输入:{“1”,“21”,“12”,“12345”,“CA23456”,“CA123”,“IND123”} 输出:{“1”,“12”,“21”,“12345”, "CA123","CA23456","IND123"}
解决方案
如果字符串是正确的 JSON,那会容易得多。但这里有一个建议:
void orderStringList(final String str) {
List<String> parts = str.replaceAll("[^a-zA-Z0-9,]", "").split(",");
Collections.sort(parts);
return parts;
}
推荐阅读
- vbscript - 如何在 ASP(经典)中获取 JPG 或 PNG 文件的作者?
- r - 如何在 r 会话中读取受密码保护的 pdf 文件 - tm 包
- java - 升级到 java 11 后 SLF4J 日志记录不起作用
- mysql - VB net 2008 和 MySQL 上的连接字符串错误
- c++ - 使用 qDeleteAll() 删除 QList 项目时无法防止内存泄漏
- java - 语言规范是如何创建的
- python - 在不使用命令的情况下从代码中获取带有 markdown 的突出显示代码的 css
- html - Css悬停对asp按钮不起作用
- ffmpeg - 将文件从 mp4 转换为 HTML video 标签可以显示的文件
- sql - SQL 在单独的列中返回重复行的对应值