popalka popalka - 3 months ago 17
Java Question

Output newline char in regexp under Java or ANT

I have ant target that invokes replaceregexp task

<target name="regexp.replace">
<replaceregexp file="${file.temp}"
match="(.*)"
replace="first operation on \1 second operation on \1"
byline="true"/>
</target>


file.temp is

A1
A2


desired output is

first operation on A1
second operation on A1
first operation on A2
second operation on A2


What to insert as new line char for producing desired output in ant replaceregexp parameter?

replace="first operation on \1 %NEW_LINE% second operation on \1"

Answer

The following works for me:

<replaceregexp file="test.txt"
               match="(.*)"
               replace="first operation on \1${line.separator}second operation on \1"
               byline="true"/>