我有一个存储C#代码的列,如何删除" FunctionA"的最后3个参数?请注意,该列包含多个函数,但我只需要替换" FunctionA"使用PL / SQL,我知道REGEXP_REPLACE可能会做到这一点,但我似乎无法找到匹配/替换它的方法。
之前:
Test=FunctionA(varID, 1234,"", A.B,"","","last");
Test=FunctionA(varID, 9876,"", C.D);
Test=FunctionB(varID, 5555,"", E.F,"","","last");
后:
Test=FunctionA(varID, 1234,"", A.B);
Test=FunctionA(varID, 9876,"", C.D);
< - 不应影响此
Test=FunctionB(varID, 5555,"", E.F,"","","last");
< - 不应影响此
答案 0 :(得分:1)
尝试找到这种模式:
[
{
"name": 2017,
"children": [
{"name": "01-2017", "id": 11},
{"name": "02-2017", "id": 12},
{"name": "03-2017", "id": 13},
{"name": "04-2017", "id": 14},
{"name": "05-2017", "id": 15}
]
},
{
"name": 2018,
"children": [
{"name": "01-2018", "id": 6},
{"name": "02-2018", "id": 7},
{"name": "03-2018", "id": 8},
{"name": "04-2018", "id": 9},
{"name": "05-2018", "id": 10}
]
}
]
然后只用(,[^,]*,[^,]*,[^,]*\);)$
替换。以下是一个示例查询:
);
编辑:我添加了一个SELECT
REGEXP_REPLACE ('Test=FunctionA(varID, 1234,"", A.B,"","","last");',
'(,[^,]*,[^,]*,[^,]*\);)$', ');') AS output
FROM dual
WHERE col LIKE 'Test=FunctionA(%'
Test=FunctionA(varID, 1234,"", A.B);
子句来检查函数名称。