0

我有以下代码行:

//line is of the format: "Garbage text (desired text)"
String target = line.replaceAll("Garbage text \\((.+)\\)", "$1");
return target; //separated for clarity

Eclipse Keplerusing内部输出jre1.6,上面返回给我所需的文本。但是,当我将我的代码编译成一个可运行的 jar 时,上面会返回整个字符串,就好像replaceAll从未执行过一样。

当我尝试

line.replaceAll(".+\\((.+)\\)", "$1")

我得到相同的结果。

我也尝试将构建路径更改为 use jre1.7,但无济于事。

我的环境:

Windows 7 x64 Professional
Java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

谁能告诉我发生了什么事?

4

1 回答 1

0

弄清楚了。它与 Eclipse 或 Java 无关,而与输入文件有关。jar 从不同的位置运行,文件名相同。这两个文件的格式略有不同,这让我很反感。

感谢大家的帮助,对不起,这是浪费时间。

于 2013-10-23T23:47:11.233 回答