拆分路径 java_Java – 用于拆分目录路径的正则表达式

如果路径以分隔符开头,那么您获得空字符串(在有效路径中)的唯一位置将是第一个项目.如果它有前导分隔符,则在没有它的路径上拆分.

String path = "/a/b/c";

String[] directories = path.substring(1).split(DIRECTORY_PATH_SEPARATOR);

// { "a", "b", "c" }

正如OmnipotentEntity所指出的,我对有效路径的假设是错误的.使用split()时,你必须通过数组并保持非空字符串.

String path = "/a/bc";

String[] split = path.split(DIRECTORY_PATH_SEPARATOR);

ArrayList directories = new ArrayList(split.length);

for (String dir : split)

if (dir.length() > 0)

directories.add(dir);

另一种方法是使用实​​际的正则表达式来匹配非分隔符:

String path = "/a/bc";

ArrayList directories = new ArrayList();

Pattern regex = Pattern.compile("[^" + DIRECTORY_PATH_SEPARATOR + "]+");

Matcher matcher = regex.matcher(path);

while (matcher.find())

directories.add(matcher.group());

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值