StringA
StringB
StringC
StringD
我正在连接上面的4个字符串,如下所示
StringA||' '||StringB||' '||StringC||' '||StringD
我希望在上面的连接字符串上使用REPLACE,以便用单个空格替换double空格。我有类似的东西
REPLACE((StringA||' '||StringB||' '||StringC||' '||StringD), ' ',' ')
但是,上述逻辑并没有为我提供结果。
但是,如果我只是将它应用于StringA和StringB,它可以正常工作。我们如何让它适用于完整的字符串?
答案 0 :(得分:0)
试试regexp:
regexp_replace(String1||''||String2||.....||Stringn, '[ ]+', ' ' )
答案 1 :(得分:0)
首先要做的事情可能是:
REPLACE(( TRIM(StringA)||' '||TRIM(StringB)||' '||TRIM(StringC)||' '||TRIM(StringD)), ' ',' ')
这应该处理尾随空格给出结果中多个空格的子串的所有情况。之后,您只会担心原始的四个字符串是否包含三个或更多空格的子字符串。如果是这种情况,我们可能需要更多地了解所有四个字符串列的定义。