Focal Point
[SOLVED] Replacing an ampersand with &|

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5937046296

February 18, 2020, 02:11 PM
ccollier
[SOLVED] Replacing an ampersand with &|
I am currently printing a report that contains the employers of people. Some employers have a '&' in their name, which ruins things. I am currently using
 STRREP(60, EMPLOYER, 1, '&', 2, '&|', 61, EMPLOYER); 
which is supposed to replace an ampersand with &|, but it still does not work. Is there any other way to do this?

This message has been edited. Last edited by: ccollier,


WebFOCUS 8.2.01M on Windows 10
February 18, 2020, 02:44 PM
Waz
Try adding an extra pipe.

STRREP(60, EMPLOYER, 1, '&', 2, '&||', 61, EMPLOYER);



Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

February 18, 2020, 02:44 PM
Frans
is it being ruined with a .EVAL or something? Do you have a sample of th ecode where it breaks?


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
February 18, 2020, 03:22 PM
Hallway
You could try the simplified replace function as well:
  
REPLACE(EMPLOYER, '&', '&|amp;')



Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
February 18, 2020, 03:31 PM
Hallway
You could also try the HEXBYT function to replace the amper
 
REPLACE(EMPLOYER, '&', HEXBYT(38, 'A1') )
 



Hallway

 
Prod: 8202M1
Test: 8202M4
Repository:
 
OS:
 
Outputs:
 
 
 
 
February 19, 2020, 09:01 AM
Berny
I've dealt with this. Webfocus won't allow you to search for &, but you can get around that by telling it search for the &| with the | removed. Example below:

Part one - search for this character
STRIP(2, '&|', '|', 'A1')

Part Two - use replace characters searching for character in part one
REPLACE(EMPLOYER, part_one , '&||');

Full code
REPLACE(EMPLOYER, STRIP(2, '&|', '|', 'A1'), '&||');


Webfocus 8202 on Windows 10
February 20, 2020, 10:04 AM
ccollier
I used a bit of Hallway's first solution. I still used STRREP but used &|amp; instead of just &| and it worked.


WebFOCUS 8.2.01M on Windows 10