gpt4 book ai didi

regex - Hive 查询仅替换第一次出现的子字符串

转载 作者:行者123 更新时间:2023-12-01 00:12:01 24 4
gpt4 key购买 nike

我需要从给定的字符串中替换第一次出现的子字符串。
例如,如果字符串是 "My name is Adam"我想替换第一个 "a""@" .
所以我想要的输出是 "My n@me is Adam" .
在 MySQL 中,有一个函数 regexp_replace它有一个可选参数 occurrence指定要替换的出现次数。但不幸的是,该可选参数不存在于 hive 函数中。有什么建议?

最佳答案

hive> select regexp_replace('My name is Adam','^(.*?)a','$1@');
OK
My n@me is Adam
Time taken: 0.061 seconds, Fetched: 1 row(s)

图案 '^(.*?)a'方法:
  ^ - the beginning of the string
.*? - any character (.) zero or more times (*) not greedy (?)
() - remember group, we will refer it in the replacement string as $1
a - 'a' character literally

替换字符串 '$1@'方法:
$1 - group number one in the pattern (everything before 'a')
@ - '@' character literally

您可以在此处调试正则表达式: regex101.com

关于regex - Hive 查询仅替换第一次出现的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57352664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com