regexp-replace - 如何删除雪花中数字后的字符
问题描述
我有一个像“22-ABCD-BC-220602-11484-TEST”这样的字符串,我想从这个字符串的末尾删除“TEST”这个词。重点是“TEST”每次都在变化,而不是一个常数变量。所以我想要做的是编写查询以删除字符串末尾数字之后的内容。就像在这种情况下,我希望它删除 220602-11484 之后的任何内容。
我使用了这个查询
选择 REGEXP_REPLACE('22-ABCD-BC-220602-11484-TEST','([0-9]{6}-[0-9]{5}).*$','')
用空格替换结尾部分,但我得到的结果是'22-ABCD-BC-'并且它也删除了数字
解决方案
select left('22-ABCD-BC-220602-11484-TEST', len('22-ABCD-BC-220602-11484-TEST') - charindex('-', reverse('22-ABCD-BC-220602-11484-TEST')));
我们基本上考虑了最后一个连字符之前剩下的所有内容。
参考文档:
推荐阅读
- r - 使用 Rvest 从多个页面中抓取文本、表格并将两者结合起来
- python - Python:如何使用更少的行来优化列表结果?这个问题已经用 zip 回答了
- python - ValueError:一个操作对梯度有“无”。请确保您的所有操作都定义了渐变
- flutter - 如何在 Flutter 中调整图像或小部件的色相饱和度和亮度?
- jquery - 从文本字段中获取输入并将其转换为另一行的 url slug
- node.js - Node js 对“FFI 模块”的支持
- excel - Excel VBA IE 与 XMLHTTP 差异
- c++ - 如何使用 C++ 在 Windows 10 中捕获 D3D 窗口
- c++ - Windows 可执行文件在我的 linux 上执行
- javascript - E.js 模板:意外的标记 'else'