我正在尝试以一种特定的方式在hive中分隔camel大小写字符串。任何相邻的大写字母都保持为一个块,除非其中一个字母指向其他字母数字字符,在这种情况下,大写字母位于具有以下字母数字字符串的块中。
例如, HELLOWorld
应该变成 HELLO World
. HelloWorld5
应该变成 Hello World5
. HELLOWorldPeople
应该变成 HELLO World People
. 有时整个字符串都是小写的。每个字符串后面都跟有 STRING
是的 HelloWorldSTRING
,但最后一部分应该丢弃。
这是我写的正则表达式,我认为它能正确地将单词分组,但我可能错了:
([A-Z]?[a-z0-9]+)+STRING|([A-Z]*)([A-Z][a-z0-9]+)*STRING
有没有办法在Hive中的每个群体之间插入一个空格?据我所知,regexp\u replace似乎不适合这个问题
2条答案
按热度按时间uelo1irk1#
将每个大写字母前面/后面都替换为除大写字母以外的其他字母,用空格和空格本身。
fruv7luv2#
这其实比我想象的要简单。我需要选择单词之间的空格,而不是单词本身。