declare
aa varchar2(500) := '"names":"123公司","number":"20210727001"';
aa1 varchar2(50) ;
aa2 varchar2(50) :='"' ;
bb varchar2(500) := '用户名称${names},业务单号${number}';
bb1 varchar2(50) := '${';
bb2 varchar2(50) := '}';
cc varchar2(500);
DD varchar2(500);
begin
WHILE (instr(bb,bb1,1,1)>0)
LOOP
cc:=substr(bb,instr(bb,bb1,1,1)+length(bb1),instr(bb,bb2,1,1)-instr(bb,bb1,1,1)-length(bb1));
aa1:='"'||cc||'":';
dd:=substr(aa,instr(aa,aa1,1,1)+length(aa1)+length(aa2),instr(aa,aa2,instr(aa,aa1,1,1)+length(aa2),1)-length(aa2) );
bb:=REPLACE(bb, bb1||cc||bb2 , REPLACE(dd,aa2,''));
END LOOP ;
dbms_output.put_line(bb);
end;
