Держите один ноль и удалите остаток с начала, если есть несколько ведущих 0 - PullRequest
0 голосов
/ 05 июня 2018

Как я могу сохранить один ноль и удалить остаток с начала, если имеется более одного начального нуля.

Приведенное ниже регулярное выражение, если удалить все нули и не сохранить последние 0

df.withColumn("strip_code", regexp_replace($"codes", "^0*(?!0[1-9]+)([0-9]*)", "$1"))

+----------+----------+
|     codes|strip_code|
+----------+----------+
|    541100|    541100|
|     54110|     54110|
|     05810|      5810|
|    581200|    581200|
|     58140|     58140|
|     54110|     54110|
|     48140|     48140|
|    481400|    481400|
|    723000|    723000|
|     52000|     52000|
|1234AZSHND|1234AZSHND|
|          |          |
|    001234|      1234|
|    034567|     34567|
|     00742|       742|
|     00763|       763|
|     00780|       780|
+----------+----------+

1 Ответ

0 голосов
/ 05 июня 2018

выполнение следующих действий должно работать для вас

df.withColumn("strip_code", regexp_replace($"codes", "[0]*(0\\d+)", "$1"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...