到 trim 列中的特定值
To trim particular value in a column
我有一个正则表达式 select 语句,如下所示:
SELECT REGEXP_REPLACE(nvl(l.text_1, l.text),'^'||21810||'=|\|'
||21810||'=', '|'||21810||'='||'B1')
FROM table_1 1
这会检查文本的值,如果文本有 21810,则添加 B1
例如:如果我的文本是 21614=C1||21810=C2
它的作用是:21614=C1|||||||21810=B1C2
但我希望删除此 C1 和 C2,后者始终后跟一个“=”,只需在 21810 中的“=”之后添加 B1
21614=|||||||21810=B1
使用两步替换:
删除 =
之后和 |
之前的值:
将 [^=|]+(\||$)
替换为 </code>。参见 <a href="https://regex101.com/r/O5yqaL/1/" rel="nofollow noreferrer">regex proof</a>。</p>
</li>
<li><p>接下来,添加<code>B1
:
(^|\|)21810=
与 1810=B1
。
参见 this regex proof。
我有一个正则表达式 select 语句,如下所示:
SELECT REGEXP_REPLACE(nvl(l.text_1, l.text),'^'||21810||'=|\|'
||21810||'=', '|'||21810||'='||'B1')
FROM table_1 1
这会检查文本的值,如果文本有 21810,则添加 B1
例如:如果我的文本是 21614=C1||21810=C2
它的作用是:21614=C1|||||||21810=B1C2
但我希望删除此 C1 和 C2,后者始终后跟一个“=”,只需在 21810 中的“=”之后添加 B1
21614=|||||||21810=B1
使用两步替换:
删除
=
之后和|
之前的值:
将[^=|]+(\||$)
替换为</code>。参见 <a href="https://regex101.com/r/O5yqaL/1/" rel="nofollow noreferrer">regex proof</a>。</p> </li> <li><p>接下来,添加<code>B1
:
(^|\|)21810=
与1810=B1
。 参见 this regex proof。