This question already has answers here:
How to remove duplicates from comma separated list by regex in Oracle but I don't want duplicates values? [duplicate]
(2 个回答)
How to remove duplicates from space separated list by Oracle regexp_replace? [duplicate]
(3 个回答)
3年前关闭。
我有
并且想要得到
我在尝试
但它不会删除所有重复项,它会产生:
请帮忙...
试试这个。这有效。见演示。
http://regex101.com/r/yG7zB9/8
问题是
这里的空间。你没有考虑到这一点,因为第一个匹配没有空间隐藏它。所以 inlcde
(2 个回答)
How to remove duplicates from space separated list by Oracle regexp_replace? [duplicate]
(3 个回答)
3年前关闭。
我有
'VA - HRD 1, VA - HRD 1, VA - NOVA 1, VA - NOVA 1'
并且想要得到
'VA - HRD 1, VA - NOVA 1'
我在尝试
regexp_replace( 'VA - HRD 1, VA - HRD 1, VA - NOVA 1, VA - NOVA 1' ,'([^,]+)(,\1)+', '\1')
但它不会删除所有重复项,它会产生:
VA - HRD 1, VA - HRD 1, VA - NOVA 1
请帮忙...
最佳答案
([^,]+)(,[ ]*\1)+
试试这个。这有效。见演示。
http://regex101.com/r/yG7zB9/8
问题是
VA - HRD 1, VA - HRD 1
^ ^
这里的空间。你没有考虑到这一点,因为第一个匹配没有空间隐藏它。所以 inlcde
[ ]*
或 \s*
使其接受。关于regex - 如何通过 Oracle regexp_replace 中的正则表达式从逗号分隔列表中删除重复项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26672269/
10-12 05:24