我有以下代码行:
//line is of the format: "Garbage text (desired text)"
String target = line.replaceAll("Garbage text \\((.+)\\)", "$1");
return target; //separated for clarity
使用Eclipse Kepler
从jre1.6
内输出,上面的内容会返回所需的文字。但是,当我将代码编译成可运行的jar时,上面会返回整个字符串,就好像replaceAll
从未执行过一样。
当我尝试
时line.replaceAll(".+\\((.+)\\)", "$1")
我得到了相同的结果。
我尝试更改构建路径以使用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)
谁能告诉我发生了什么?
答案 0 :(得分:0)
想出来。它与Eclipse或Java无关,而是与输入文件有关。 jar从另一个位置运行,文件名相同。这两个文件的格式略有不同,这就是让我失望的原因。
感谢所有的帮助,抱歉这是浪费时间。