蜂巢表列仅接受键盘字符,数字和忽略控制和ASCII字符



hive中是否有任何正则或任何其他表达式仅考虑键盘字符,忽略蜂巢表中的控制字符和ASCII字符?

示例:regexp_replace(option_type,'[^a-za-z0-9] ','')
在上面的表达式中,只有字符和数字正在考虑,但是任何键盘特殊字符数据(例如%,,&,*,,?,, ..)可用,然后我将输出作为空白。

col:bhuvi?你在哪里?
结果:bhuvi在哪里
但是我想作为bhuvi输出?你在哪里?

如果有任何特殊的键盘字符来了,它将像IS一样出现,任何控件或ASCII字符都会忽略。

您应该考虑各种键盘布局(语言)具有各种"特殊"角色,例如德语Öäü或西班牙ñ(只是例子 - 不谈论亚洲,希伯来语或阿拉伯语键盘)。

我看到了两个解决方案:1.)也许您应该定义一个允许字符的列表并将其放入角色类中,以便您可以大力控制允许的内容,但是您可以排除大多数语言

2。)您可能会查看正则表达式unicode类,您可以允许任何"字母" p{L}或"数字" p{N},甚至标点符号p{P} dissworlawall 只有您知道的那些字符导致控制字符之类的问题p{C}有关Unicode Prinesion Expressions

的更多详细信息,请参见常规表达式。

编辑:

如果,您只想坚持英语,并且可以假设您只能允许ASCII,则可以在字符中输入在键盘上找到的每个键类,作为一个不完整的示例:/^[-a-zA-Z0-9,.-;:_!"§$%&]+$/

您可以使用ASCII表来确定允许字符的范围,在您的情况下,假设" space" 到" curly Closing clacket" /^[ -}]+$/,并欺骗字符类。:CC_8

我得到了解决方案regexp_replace(option_type,'[^a-za-z0-9*!@ -/#$%()_ =/<>? |& |&] ',''')Div>

最新更新