为了账号安全,请及时绑定邮箱和手机立即绑定

字符串 utils 拆分 - linux

字符串 utils 拆分 - linux

交互式爱情 2021-05-30 19:09:49
下面的 Java 代码适用于 Windows 机器filepath = "euro\football\france\winners.txt";String[] values = StringUtils.split(filePath, "\\");if (values != null && values.length >= 4) {} else {    //error}但是在执行代码时在 linux 中面临问题。if 循环没有执行,else 循环正在执行。我们是否需要为 linux 将 split 指定为“\”或“/”String[] values = StringUtils.split(filePath, "\\");任何建议都会有所帮助
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

为避免这种情况,我将使用简单的正则表达式[/\\],它将与/或分开\,如下所示:


String[] filePaths = {

        "euro/football/france/winners.txt",   //linux path

        "euro\\football\\france\\winners.txt" //windows path

};

for (String filePath : filePaths) {

    String[] values = filePath.split("[/\\\\]");

    System.out.println(Arrays.toString(values));

}

输出


[euro, football, france, winners.txt]

[euro, football, france, winners.txt]


查看完整回答
反对 回复 2021-06-02
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

如果文件在 JVM 正在运行的机器上,那么您可以使用它File.separatorChar来获取本地机器的系统依赖分隔符。

    String[] values = StringUtils.split(filePath, File.separator);

JavaDoc的说(File.separatorChar):

系统相关的默认名称分隔符。该字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,该字段的值为“/”;在 Microsoft Windows 系统上,它是“\”。


查看完整回答
反对 回复 2021-06-02
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信