У меня есть 19-символьная строка в Hive
, что мне нужно разделить и удалить любые начальные нули.Regex ведущие нули из строки в Hive
Пример:
7212092180052740029
мне нужно, чтобы разделить, как этот
721 20 9218 00527 40029
Так что нет ни одного ведущие нули в 1-й, 2-й или 3-й секции, и 00
будут удалены из 4-го раздела; раздел 5 будет проигнорирован. Мой желаемый результат будет
721209218527
Мое решение первого прохода является
trim(concat_ws('', regexp_replace(substr(some_string, 1, 3), '^0*', '')
, regexp_replace(substr(some_string, 4, 2), '^0*', '')
, regexp_replace(substr(some_string, 6, 4), '^0*', '')
, regexp_replace(substr(some_string, 10, 5), '^0*', '')))
, но это кажется крайней излишним. Любые идеи, как это сделать с помощью одной строки регулярного выражения?
Кроме того, следует отметить, что в любом из 5 разделов при разделении никогда не будет всех нулей (т. Е. Раздел 1 никогда не будет 000
); если так, то мое «решение» не будет работать, так как все нулей будут ведущими, а '^0*
ничего не вернет.
что логика разделения – vks
я решил, что было бы довольно очевидно, от вопроса. (3, 2, 4, 5, 5) – gobrewers14
Я думаю, что это не – vks