我的用例是这样的:
String = "INDIA CANADA ITALY",
String Post Repacement = "IN CA IT"
我正在寻找类似的东西:
replaceMultiple(String, "INDIA", "IN", "CANADA", "CA", "ITALY", "IT")
我目前正在使用嵌套替换这样做,但它的可读性不高,如果我想添加更多替换,我将进一步嵌套。
这可以通过函数实现,比如在运行时使用键值对创建临时表,并用值替换string中的每个键。 还是其他一些方法?
答案 0 :(得分:1)
有很多方法可以做到。
您可以使用临时表和regexp_replace
,或者您可以使用这样的JSON字典:
SELECT string_agg(
COALESCE(
'{ "INDIA": "IN", "CANADA": "CA", "ITALY": "IT" }'::jsonb->>s,
s
),
' '
)
FROM regexp_split_to_table('INDIA CANADA ITALY', '\s') s;