通过


url_decode

将“application/x-www-form-urlencoded”格式中的 URL 编码字符串解码为其原始格式。

Syntax

from pyspark.sql import functions as sf

sf.url_decode(str)

参数

参数 类型 Description
str pyspark.sql.Column 或 str 一列字符串,每个字符串表示 URL 编码的字符串。

退货

pyspark.sql.Column:一个新字符串列,每个列表示解码的字符串。

例子

示例 1:解码 URL 编码字符串

from pyspark.sql import functions as sf
df = spark.createDataFrame([("https%3A%2F%2Fspark.apache.org",)], ["url"])
df.select(sf.url_decode(df.url)).show(truncate=False)
+------------------------+
|url_decode(url)         |
+------------------------+
|https://spark.apache.org|
+------------------------+

示例 2:使用空格解码 URL 编码的字符串

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Hello%20World%21",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|   Hello World!|
+---------------+

示例 3:使用特殊字符解码 URL 编码的字符串

from pyspark.sql import functions as sf
df = spark.createDataFrame([("A%2BB%3D%3D",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|          A+B==|
+---------------+

示例 4:使用非 ASCII 字符解码 URL 编码的字符串

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%E4%BD%A0%E5%A5%BD",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|           你好|
+---------------+

示例 5:使用十六进制值解码 URL 编码的字符串

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%7E%21%40%23%24%25%5E%26%2A%28%29%5F%2B",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|  ~!@#$%^&*()_+|
+---------------+