So Entfernen Sie die nicht-alpha-numerischen oder nicht-numerischen Zeichen mit Hive REGEXP_EXTRACT () - Funktion

Ich habe versucht, herauszufinden, wie zu entfernen mehrere nicht alphanumerische oder nicht-alphanumerische Zeichen, oder nur die Rückkehr numerische Zeichen aus einem string. Ich habe versucht:

SELECT
regexp_extract('X789', '[0-9]', 0)
FROM
table_name

Aber es kehrt '7', nicht '789'.

Habe ich auch versucht zu entfernen, die nicht-numerischen Zeichen, die mit NICHT ÜBEREINSTIMMEN syntax ^((?!regexp).)*$:

SELECT
REGEXP_REPLACE('X789', '^((?![0-9]).)*$', '')
FROM
jav_test_ii

Kann regexp_extract Rückkehr mehrere übereinstimmungen? Was ich wirklich versuche zu tun ist, reinigen Sie meine Daten enthalten nur Ziffern oder alphanumerischen Zeichen. Dies scheint zu helfen, entfernen Sie schlechte Zeichen, aber es ist nicht eine Reihe von Zeichen, wie [0-9]. regexp_replace(string, '�',")

EDIT: Die folgende Abfrage konnte zurück '7789', das ist genau das, was ich suchte.

SELECT
regexp_replace("7X789", "[^0-9]+", "")
FROM
table_name
InformationsquelleAutor user1152532 | 2014-01-28
Schreibe einen Kommentar