Hiveql - 如何在字符串中只保留数字和空格
Posted
技术标签:
【中文标题】Hiveql - 如何在字符串中只保留数字和空格【英文标题】:Hiveql - how to keep only digits and spaces in string 【发布时间】:2018-06-22 21:19:04 【问题描述】:更具体地说,如果原始字符串列是这样的
-
'AAA 123 BBB 456'
'CCC 234 DDD EEE 678'
'FFFFF 7280 ZZZ 123 DDD'
我最终需要的只是第一组数字,比如
-
'123'
'234'
'7280'
TIA
【问题讨论】:
【参考方案1】:使用regexp_extract
函数:
select regexp_extract('AAA 123 BBB 456','[0-9]+',0) - digit one or more times
返回123
【讨论】:
谢谢。它完美地工作。我的理解是最后的零输入是一个组索引,而不是匹配索引,所以如果一个字符串中有多个匹配,regexp_extract 总是会返回第一个。我说的对吗? @pingboing 对,这是正则表达式组索引,不是匹配索引 是否有一种简单的方法可以在有多个匹配项时返回其他匹配项(例如,第二个匹配项)? 您需要编写更复杂的正则表达式。就像在这个答案中一样:***.com/a/23556649/2700344 感谢您的帮助以上是关于Hiveql - 如何在字符串中只保留数字和空格的主要内容,如果未能解决你的问题,请参考以下文章
在JAVA中,键盘输入的字符串中包含的字母、数字和其他字符的个数如何制作?