我正在尝试做一些字符串清理,并希望只保留给定模式之前的部分,并删除所有内容,包括模式和之后的所有内容。模式为“hi {{user_name}}”。例如: 上一篇:What a good day嗨{{user_name}}你好 预期输出:多好的一天啊。 上一篇:What a good day您好,请告诉我如何提供帮助。 预期输出:多好的一天啊。 上一篇:What a great day! 预期输出:多好的一天啊! 我尝试按模式进行拆分,只保留拆分结果的第一部分,但在SQL中找不到好的方法
-- sample data
with dataset(str) as(
values
('What a good day. hi {{user_name}} how are you'),
('What a good day. hi {{user_name}} let me know how I can help.'),
('What a great day!')
)
-- query
SELECT regexp_replace(str, 'hi {{user_name}}.*', '')
FROM dataset;
1条答案
按热度按时间4jb9z9bj1#
您可以尝试使用
regex_replace
和hi {{user_name}}.*
模式(解释见regex101):输出(注意,这将在末尾保留空格):
| _col0|
| --------------|
| 多好的一天啊。|
| 多好的一天啊。|
| 多好的一天啊!|