0
假設您嘗試從數據框的列中提取子字符串。 regexp_extract()
如果字段本身爲空則返回null,但如果字段不爲null但未找到該表達式,則返回空字符串。如何爲後一種情況返回空值?Spark:從失敗的regexp_extract()返回null
df = spark.createDataFrame([(None),('foo'),('foo_bar')], StringType())
df.select(regexp_extract('value', r'_(.+)', 1).alias('extracted')).show()
# +---------+
# |extracted|
# +---------+
# | null|
# | |
# | bar|
# +---------+
我一直在使用基於zero323的回答[這裏](類似的方法http://stackoverflow.com/questions/33287886/更換空弦與 - 沒有無效值 - 在非數據幀)。像上面所做的那樣,最好使用udf嗎? – evilpilotfish