sal*_*sal 19 regex string postgresql replace character
您好我想使用regexp_replace(或任何其他postgres函数,如果合理)用''替换字符串中的字符,即擦除它们.
使用REGEXP_REPLACE(("def4abcdef4ab","4","","G"),我可以替换/擦除中出现的所有"4",但我想也替换的所有出现的"e"和b"在相同的工艺,不使用几个嵌套的进程,如regexp_replace(regexp_replace(regexp_replace())).
即我希望能够提供一个不同字符串的简短列表,然后应该用唯一的字符串替换.
有任何想法吗?非常感谢提前!
And*_*ong 23
规范的方法是使用字符类,如此,
regexp_replace('def4abcdef4ab','[4eb]', '','g')
Run Code Online (Sandbox Code Playgroud)
虽然@ alexius的方法也可以处理字符串.
不确定是否非贪婪地量化表达式会使其更有效,例如 [4eb]+?.
单个字符替换不需要正则表达式使用translate函数,即
translate('def4abcdef4ab','4eb', '')
Run Code Online (Sandbox Code Playgroud)
如果你的字符串是多个字符长,那么使用replace().即使是嵌套,这也可能比正则表达式提供更好的性能.
好的,我自己找到了答案(在PostgreSQL 各种字符串 \\ varchar 清理的帮助下):
\n\nselect regexp_replace(\nE\'a\xc5\x9bx\xe2\x82\xac \xc4\x85sd, dsa w|adwf\\n YZas dw dgaa[aw] asdd\',\n\'[^a-zA-Y0-9 ]\',\n\'\',\n\'g\');\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
37406 次 |
| 最近记录: |