gpt4 book ai didi

java - 模式语法异常 : Unexpected internal error near index 1 for `.split(File.separator)` under windows

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:17:26 26 4
gpt4 key购买 nike

下面的代码片段在 linux 下工作正常,但在 windows 下给我错误(这很奇怪,因为 jvm/jdk 应该是操作系统不可知的)。

  File f = ... 
String[] split = f.getPath().split(File.separator);

这里是错误:

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)

知道哪里出了问题吗?

最佳答案

问题是反斜杠是使用正则表达式的特殊字符(其他特殊字符的转义字符)。你应该使用

String[] split = f.getPath().split("\\\\");

为了按符号 \ 拆分。


如果你想保持这个平台的独立性,我看到了你遇到的问题。在这种情况下,您可以这样做:

String splitter = File.separator.replace("\\","\\\\");
String[] split = abc.split(splitter);

关于java - 模式语法异常 : Unexpected internal error near index 1 for `.split(File.separator)` under windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34129054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com