猿问

字符串 utils 拆分 - linux

下面的 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, "\\");

任何建议都会有所帮助




交互式爱情
浏览 151回答 2
2回答

神不在的星期二

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

Smart猫小萌

如果文件在 JVM 正在运行的机器上,那么您可以使用它File.separatorChar来获取本地机器的系统依赖分隔符。    String[] values = StringUtils.split(filePath, File.separator);该JavaDoc的说(File.separatorChar):系统相关的默认名称分隔符。该字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,该字段的值为“/”;在 Microsoft Windows 系统上,它是“\”。
随时随地看视频慕课网APP

相关分类

Java
我要回答