我正在尝试使用替换功能删除特殊字符,但转义字符没有被删除。
输入:
[
{
"MiddleName": "Gisela\"mn"
},
{
"MiddleName": "Gisela12---"
}
]
规格:
[
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"MiddleName": "=replace('(\\-\\s*)|\\s+--',@(1,MiddleName))"
}
}
}
]
我得到的输出:
[
{
"MiddleName": "Gisela\"mn"
},
{
"MiddleName": "Gisela12"
}
]
我需要的输出:
[
{
"MiddleName": "Giselamn"
},
{
"MiddleName": "Gisela12"
}
]
您可以连续使用split和join功能,例如
[
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"*": "=split('\"',@(1,&))"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"*": "=join('',@(1,&))"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"*": "=split('-',@(1,&))"
}
}
},
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"*": "=join('',@(1,&))"
}
}
}
]
您可以使用更简单的方法,例如此规范:
[
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"MiddleName_temp1": "=split('\"',@(1,MiddleName))",
"MiddleName_temp2": "=join('',@(1,MiddleName_temp1))",
"MiddleName_temp3": "=split('-',@(1,MiddleName_temp2))",
"MiddleName": "=join('',@(1,MiddleName_temp3))"
}
}
},
{
"operation": "remove",
"spec": {
"*": {
"MiddleName*": ""
}
}
}
]