In migrating an EDI flow from 4.6 to 6.0 (on Windows) I found an inconsistency in handling of CR/LF. It shows up in the pub.string.replace built-in service but I think the root cause lies elsewhere.
My goal is to convert the following line
00line00
to this
Here are the inputs that yield differing results by pub.string.replace
inString=00line1[0D][0A]10line2[0D][0A]
searchString= ^00(.*)$
replaceString=
developer 4.6 replacement results are:
10line10
developer 6.0 replacement results are:
00line00[0D][0A] 10line10 (eg., no replacement)
I believe the problem is differing interpretation of CR/LF (eg., $ symbol in regular expression) between 4.6 and 6.0, causing the search string to fail on 6.0.
I recall from the distant past that there is a java property that can be used to define the line terminator system-wide. Is this the answer, and if so, how can this property be set via a java service?