我想编写一个正则表达式来替换特定字符串中的子字符串,如Street to St或Tree to Tr。我需要编写单独的正则表达式来实现吗?我知道在Teradata OREPLACE
可以使用,但我在问是否有更多熟练的方法可以做到这一点。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用regular expressions in Teradata。但是,当您具有需要在特定上下文中匹配的具体模式并最终替换为输入字符串的某些部分时,它们的效率最高。
在以下示例中,“街道”将匹配,但只有第一个捕获组将被替换:
SELECT REGEXP_REPLACE('Sherlock lives in Baker Street.', '(Str)eet', '$1', 1, 0, 'c');
如果你有多个搜索关键字和多个替代品,你最好使用2-D ARRAY在其维度中搜索和替换值,然后在代码中使用它们来执行搜索和替换。