* instead of text...endtext use adir to get the prgs, a loop and filetostr() for PRGs, and adding a USE / REPLACE for hacking the SCX/VCX CLEAR TEXT TO lcFileContents FLAGS 1 PRETEXT 1 + 2 + 4 noshow m.job_num=alltrim(job_num) lcJobNo=alltrim(job_num) x=y+1*4/2 x=(x+y)/3 lcString='Please help+lcMe+'fix this.' ENDTEXT loRegEX = Createobject('VBScript.RegExp') && Create a regular expression. WITH loRegEX .Pattern = '(.*?)(\s*?[=\+\*/]{1}?\s*?)+(.*?)' && Set pattern. .IgnoreCase = .T. && Set case insensitivity. .Global = .T. && Set global applicability. lcNewContents = .Replace(lcFileContents, '$1 $2 $3') ENDWITH ? lcNewContents && this should be a strtofile(), of course you should back up everything :)Note that in the pattern I have [=\+\*/], that is for = + * / symbols (I even forgot about -), you can add the ones you want there