Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在配置单元中将单引号(';)替换为零_Regex_Hive_Special Characters_Hiveql_Regexp Replace - Fatal编程技术网

Regex 在配置单元中将单引号(';)替换为零

Regex 在配置单元中将单引号(';)替换为零,regex,hive,special-characters,hiveql,regexp-replace,Regex,Hive,Special Characters,Hiveql,Regexp Replace,我有一个函数来替换不同类型的字符,而不是像下面这样 CAST(TRANSLATE(REGEXP_REPLACE(UPPER(number),' |,|-|/|&|_|''''',''),'.|(|)','') as string) as number 一切都很好,除了“无”部分,我想用“无”替换单引号/撇号 例如: TYLER'SCOFFEE should come out as TYLERSCOFFEE 我查看了这个论坛上的例子,似乎我们可以使用反斜杠来实现上面的内容,但是当我使用

我有一个函数来替换不同类型的字符,而不是像下面这样

CAST(TRANSLATE(REGEXP_REPLACE(UPPER(number),' |,|-|/|&|_|''''',''),'.|(|)','') as string) as number
一切都很好,除了“无”部分,我想用“无”替换单引号/撇号

例如:

TYLER'SCOFFEE should come out as TYLERSCOFFEE
我查看了这个论坛上的例子,似乎我们可以使用反斜杠来实现上面的内容,但是当我使用下面这样的反斜杠时,它会抛出一个错误

select CAST(TRANSLATE(REGEXP_REPLACE('TYLER\'SCOFFEE',' |,|-|/|&|_|'\'',''),'.|(|)','') as string) as number;
Error: Error while compiling statement: FAILED: ParseException line 1:68 character '\' not supported here (state=42000,code=40000)

有人能帮我解决我的问题吗?谢谢。

使用双引号regexp。在双引号内,单引号被屏蔽:

select 'TYLER\'SCOFFEE' as original_str, regexp_replace('TYLER\'SCOFFEE',"'",'') result;
结果:

original_str    result
TYLER'SCOFFEE   TYLERSCOFFEE
TYLERSCOFFEE
另外,如果您需要用相同的替换字符替换许多不同的字符,请将它们全部放入
[]
,无需使用管道
|

select regexp_replace('TYLER\'SCOFFEE ,-/&_', 
                      "[ ,-/&_']", 
                      '')
结果:

original_str    result
TYLER'SCOFFEE   TYLERSCOFFEE
TYLERSCOFFEE

。谢谢,是的,我将使用[]