Ray, You never indicated what your database is, but I am going to say that I think it is either MS SQL or Sybase.
Why? because there is a little issue with those databases with a particular character sequence that if you have it in a string, it eats part of your string. If you have the following two characters, a backslash and a line feed, in a character string, when you save it in the database, it will remove this pair of characters silently, without warning and continue with the operation. This was EXTRAORDINARILY confusing when we were developing 20 years ago and took us a while to figure out. Now, the syntax we serialize things in happens to include backslashes and if your first character of the string is a linefeed, that can cause issues. SO, for the two databases where we have this issue, we take any case where there is a leading return in a string and add a space before it. it eliminates the problem of eaten characters and adding a space before a return is not visible when looking at the data and in general is silent and causes no issue. However, in a case like this, it turn you into looking for a space followed by the linefeed rather than just a linefeed and that generally doesn't exist so you don't match. Doing the RIGHT solves the problem. Using a temp field solves it as well because the linefeed is no longer in the syntax so no extra space. Other than a RIGHT, you could have used an LTRIM function to trim off leading whitespace and that would have solved the situation a little more flexibly - but RIGHT should work fine too. If you use LTRIM, it would work regardless of database while RIGHT would work on Sybase and SQL Server but break on other environments - so it is more generic. Now, if on Oracle or DB2, the original Replace without the function would have worked just fine as they don't have the quirk with the character pattern. I hope this explains what happened to you and to prevent the customer on Oracle who takes what you did and gets a "this doesn't work" result because it will not there. You have to use RTRIM or just skip the function. Doug Mueller From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Ray Palla Sent: Thursday, May 30, 2013 12:47 PM To: [email protected] Subject: Re: REPLACE() Function for line-feed / carriage-return (RESOLVED) ** Thanks All for the input... A combination of all your thoughts provided the final resolution. Joe, you had a good idea that will probably work, but I first tried Tricia's method and had good enough results to work it out using no new TMP_Fields. Jittu, I'm on 7.6.04 and originally tried the method you recommended, but it failed to do the replace... However, when I combined David's idea with Tricia's idea, I finally got the result I needed. Here's how the final code solution looks in the expression editor: REPLACE($InputString$, RIGHT("x ", 1) "^") Tricia, the left is not needed, and the "$" is not the line-feed character, the little box is.... But your idea is pure genius! Thanks much. You guys are the bomb! Thanks again; r From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of David Durling Sent: Thursday, May 30, 2013 7:46 AM To: [email protected] Subject: Re: REPLACE() Function for line-feed / carriage-return ** What Jittu said has worked for me on ARS 7.5. Note that you have to open the expression editor (the expand button on the value) to do that - you can't enter the line return or even cut & paste " " directly into the value for the field. David Durling University of Georgia From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Jittu Chacko Sent: Wednesday, December 30, 2009 4:14 AM To: [email protected]<mailto:[email protected]> Subject: Re: REPLACE() Function for line-feed / carriage-return ** Hi, if you mean to identify new line(\n) and replace that with another character we can do that using set field and REPLACE() function in set field --> REPLACE($Input String$, " ", "^") eg input bmc software pune output bmc^software^pune you can do this through a button or an active link service action calls filter with service execution option and do set field. Regards Jittu Chacko Tricia Truong said: ** I tried this and it worked great REPLACE(REPLACE($EMP_LOGIN$, LEFT("$ ________________________________ ", 1), ""), RIGHT("$ ________________________________ ", 1), "") $ is LineFeed character, I copy and paste and it did not show, but in the developer tool it show as a little BOX Hope it helps Joe D'Souza said: ** I recall this posted by someone about a decade ago and a solution that worked was saving the carriage return to a temp field, and using that temp field in the replace function as the argument. See if this solution still holds good. Cheers Joe On 5/30/2013 4:27 AM, Ray Palla wrote: ** Hey Kids; Is there a way to use the REPLACE() function in a filter to remove line feeds and/or carriage returns from text? Is there a special character code? I've tried to paste one into the function with double-quotes around it, but the function doesn't seem to recognize it. I just want to replace it with anything like "^", to further parse the string as a single line. Thanks in advance; r Ray Palla Sr. IT/Remedy Consultant [cid:[email protected]] [cid:[email protected]] Mobile: 512-917-1739 Time Zone: Central Email: [email protected]<mailto:[email protected]> [cid:[email protected]] Professional Profile<http://www.linkedin.com/pub/1/544/598> INSONA Corporation <http://www.INSONA.com>1201 Berry Lane <http://maps.google.com/maps?q=10650+SW+Plaza+CT%2CBox%3A+J68%2CHouston%2CTX+77074%2CUSA&hl=en>Georgetown, TX 78626-3832 USA Infrastructure Solutions - Network Applications _ARSlist: "Where the Answers Are" and have been for 20 years_ _ARSlist: "Where the Answers Are" and have been for 20 years_ _ARSlist: "Where the Answers Are" and have been for 20 years_ _ARSlist: "Where the Answers Are" and have been for 20 years_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org "Where the Answers Are, and have been for 20 years"
<<inline: image001.jpg>>
<<inline: image002.jpg>>
<<inline: image003.gif>>

