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

Java中如何拆分含Windows路径的字符串得到独立文件路径列表?

Java拆分带盘符冒号的多路径拼接字符串方案

核心思路

利用正则表达式的负向前瞻断言匹配分隔符冒号,仅将后缀不是路径分隔符的冒号识别为路径分隔符,避开Windows盘符后的合法冒号。

实现代码

public class PathSplitDemo {
    public static void main(String[] args) {
        String originStr = "D:/test/for test/change.txt:D:/test/for test/further.txt:D:/test/for test/yandex.txt";
        // 正则规则:匹配后面不是斜杠/的冒号作为拆分点
        String[] pathArr = originStr.split(":(?!/)");
        
        // 输出验证
        for (String path : pathArr) {
            System.out.println(path);
        }
    }
}

输出结果

D:/test/for test/change.txt
D:/test/for test/further.txt
D:/test/for test/yandex.txt

说明

  • Windows系统文件命名规则禁止文件名包含冒号,因此除了盘符后缀的冒号外,其余冒号均为拼接分隔符,该方案不存在误拆分风险
  • 正则:(?!/)为负向前瞻断言,代表当前冒号的后缀不匹配斜杠规则,刚好过滤掉盘符后紧跟斜杠的合法冒号
  • 如果需要兼容反斜杠格式的Windows路径(如D:\test\xxx.txt),可将正则调整为:(?![/\\\\]),同时适配两种路径分隔符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:27:03