【问题标题】:How to write a regular expression to replace dots and single spaces inside of a string in Teradata?如何编写正则表达式来替换 Teradata 中字符串内的点和单个空格?
【发布时间】:2015-05-22 10:38:47
【问题描述】:

我非常需要编写一个正则表达式来替换字符串中特定子字符串内的点或单个空格。假设我要解析的字符串类似于'AB.C$。 WFD.C!-' 。现在 reg ex 基本上应该将其转换为 'ABC$. WFD.C!-' 即如果空格和点出现在 AB 和 C 之间或在它们之前或之后,那么只有它们应该被替换。请帮我解决。

【问题讨论】:

  • 我不想逐个替换像“AB.c.”这样的场景或'AB c.'或“AB c”到“ABc”。我非常希望通过 reg ex 来完成。也请解释一下步骤。

标签: regex teradata


【解决方案1】:

这个呢:

SELECT REGEXP_REPLACE('AB.C$. WFD.C!-', 'A(\.| )B', 'AB', 1, 0, 'c');

它将删除输入字符串中从位置 1 开始的 A 和 B 之间的所有文字点和空格,并将替换 所有 出现(0 参数), 'c' 表示区分大小写的匹配。

详细了解teradata regex syntax here。

【讨论】:

  • 对我来说效果很好。非常感谢。
猜你喜欢
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
相关资源
最近更新 更多