我正在寻找一种解决方案,在DESCR属性字段下的整个字符串中出现特定的CODE符号后插入空格。
可用数据样本:
整体逻辑是SQL在使用CASE找到它时指定特定的CODE,否则它会分配静态的默认CODE。
CODEs如下:VBN,BNM,XCV。随机,因为我想表明每一个都有不同的长度和字母模式。
<div id="left" class="column">
<div class="bottom">
<nav class="menu menu--adsila" id="navbar">
<a class="menu__item" href="#">
<span class="menu__item-name">super long</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">short</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">link three</span>
</a>
<a class="menu__item" href="#">
<span class="menu__item-name">link four</span>
</a>
</div>
</div>
</div>
答案 0 :(得分:1)
听起来像是regexp_replace
的工作。
trim(regexp_replace(descr,'( )*(FGIF|FTIF|FTOF|FTSF|FTSIF|FTSIIF|FTSMF|TISCE)( )*',' \2 '))
正则表达式查找[zero or more spaces][any one of your codes][zero or more spaces]
并将其替换为[ ][the code it found][ ]
。如果代码出现在字符串的开头或结尾,则需要trim()
。 (我希望有一种方法可以在正则表达式本身中处理这个问题,但只需trim
整个表达式就可以轻松了。)