2013-11-26 8 views
0

보고서에서 빈 줄을 제거하기 위해 여러 줄 텍스트 필드의 서식을 지정하려고합니다. 약간의 읽기 후에 나는 다음의 정규 표현식을 생각해 냈지만 iReport 컴파일러 (처음에는 편집기가 아닌)가 유효한 것으로 간주하지 않고 구문 오류를 던집니다. 내가 가까이 있니?iReport - 필드 출력에서 ​​빈 줄 제거

$F{followups}.replace("/^\s*\n/gm", "") 

또는

$F{followups}.replace(/(\r\n|\n|\r)/gm,"") 

편집 : 요청에 따라, 인용 된 표현을 사용하여 오류 메시지가 (실제로 보고서 컴파일하지 편집기로 Throw)입니다 :

net.sf. jasperreports.engine.JRException : 보고서 표현식 클래스 파일을 컴파일 할 때 오류가 발생했습니다 : org.codehaus.groovy.control.MultipleCompilationErrorsException : 시작 실패 :,363,210 calculator_Footprints_1385543094268_580318 : 218 : 예기치 않은 문자 '\'@ 선 (218), 열 80

+0

이들은 유효한 정규식입니다. 구문 오류가 무엇입니까? 하나는 인용 (위)이지만'\'는 이스케이프되지 않습니다.''/^\\ s * \\ n/gm "'을 시도하면 다른 하나는 인용되지 않습니다. 둘 다'/ delimeter '를 가지고있다. 따옴표를 먼저 내린 다음 구획 문자를 내립니다. ''\\ s '',''\\ s'',''/ \/s/''또는''/ \\ s /''또는'/ x /'또는 ''/ x /''또는''x'' 또는''x "'등등. – sln

답변

0

좀 더 많은 연구와 시행 착오 후에 나는 문제의 근본 원인은 슬래시 두 번 (인용 필요하다는 것을 발견 '\'), sln 암시. 또한 다른 구문을 사용하여 결국 :

$F{followups}.replaceAll("(?m)^[ \\t]*\\r?\\n", "")