我正在尝试格式化多行文本字段以删除报表中的空白行 . 经过一些阅读后,我提出了以下正则表达式,但iReport编译器(不是最初声明的编辑器)将不接受这些作为有效,并且它会引发语法错误 . 我甚至关闭了吗?
$F{followups}.replace("/^\s*\n/gm", "")
要么
$F{followups}.replace(/(\r\n|\n|\r)/gm,"")
编辑:根据请求,使用带引号的表达式(在报表编译期间实际抛出而不是编辑器)的错误消息是:
net.sf.jasperreports.engine.JRException:编译报表表达式类文件时遇到错误:org.codehaus.groovy.control.MultipleCompilationErrorsException:startup failed:calculator_Footprints_1385543094268_580318:218:意外字符:''@第218行,第80列 .
1 回答
经过一番研究和反复试验后,我发现问题的根本原因是斜杠需要双引号(''),如 sln 暗示的那样 . 另外,我最终使用了不同的语法: