if you know the verbiage and the non-printing characters, you can use INSTR() and MID() to parse the string into different variables.
local numbervar iNext;
local numbervar iThis;
local stringvar temp;
shared stringvar preCity:="";
shared stringvar newCity:="";
iThis := instr({table.parameter}, "Secondary Address City");
if iThis > 0 then(
iNext := instr(ithis + 1, {table.parameter}, "Secondary");
if iNext = 0 then
temp := mid({table.parameter}, iThis + len("Secondary Address City") //too lazy to count
else
temp := mid({table.parameter}, iNext - (iThis + len("Secondary Address City")) - 1);
iThis := instr(temp, chrw(9)); //assuming tab character
newCity:=Left(temp, iThis - 1);
priorCity:=mid(temp, iThis + 1, Len(temp) - iThis - 2);
);
"" //to hide formula output
now you should be able to access the shared variables from another formula and place them in the report as desired.
This isn't tested, but it should a) give you an idea of how you could proceed, b) get you really close.
HTH