You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:按值升序排序特定格式日期集合并拼接为字符串

嘿,这个需求很好解决,我给你几个常用编程语言的实现方案,直接就能用:

Python 实现

这应该是最简洁的写法了,几步就能搞定:

  1. 把原始字符串按逗号分割成列表
  2. 将列表里的每个元素转成整数(确保是按数值排序,不是字符串排序)
  3. 用内置的sorted()函数升序排序
  4. 再把排序后的整数转成字符串,用逗号拼接起来

代码示例:

original_str = "1801,1802,1803,1710,1711"
# 处理流程
sorted_list = sorted(int(num) for num in original_str.split(','))
result = ','.join(str(num) for num in sorted_list)
print(result)  # 输出: 1710,1711,1801,1802,1803

JavaScript 实现

JS里要注意,sort()方法默认是按字符串排序的,所以必须传一个比较函数来实现数值排序:

const originalStr = "1801,1802,1803,1710,1711";
// 分割转数字数组 -> 排序 -> 转字符串拼接
const sortedArr = originalStr.split(',').map(Number).sort((a, b) => a - b);
const result = sortedArr.join(',');
console.log(result); // 输出: 1710,1711,1801,1802,1803

Java 实现

如果用Java的话,步骤类似,需要处理数组和排序:

public class DateSort {
    public static void main(String[] args) {
        String originalStr = "1801,1802,1803,1710,1711";
        // 分割成字符串数组
        String[] strArr = originalStr.split(",");
        // 转成int数组
        int[] numArr = new int[strArr.length];
        for (int i = 0; i < strArr.length; i++) {
            numArr[i] = Integer.parseInt(strArr[i]);
        }
        // 排序
        java.util.Arrays.sort(numArr);
        // 拼接成结果字符串
        String result = String.join(",", java.util.Arrays.stream(numArr).mapToObj(String::valueOf).toArray(String[]::new));
        System.out.println(result); // 输出: 1710,1711,1801,1802,1803
    }
}

核心思路都是一致的:先拆分字符串,转成数值类型确保按大小排序,排序后再转回字符串拼接。如果还有其他语言的需求,随时说哦!

内容的提问来源于stack exchange,提问作者GamerGypps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:01:46