我在一个pyspark字符串中有前导字符和尾随字符。但是trim和regex_replace
似乎对他们不起作用。可能有一些空的unicode字符。我的问题是
1.如何识别这些字符?(复制和粘贴只是复制一个空白空间)
1.有办法摆脱他们吗
这些是我迄今为止采取的步骤
df = df.withColumn("email", F.encode(F.col("email"), "UTF-8"))
df = df.withColumn("email", F.regexp_replace(F.col("email"), " ", ""))
df = df.withColumn("email", F.regexp_replace(F.col("email"), "\u0000", ""))
df = df.withColumn("email", F.trim(F.col("email")))
df = df.withColumn("length", F.length(F.col("email")))
df.select("email", "length").display()
这是输出
PS:当我尝试复制一个字符串并使用python做一个strip时,它会去掉空格
" [email protected]".strip()
# '[email protected]'
用这个做一个udf也可以
def strip(value):
return value.strip()
stripUdf = F.udf(strip, T.StringType())
但由于性能问题,
1条答案
按热度按时间b4lqfgs41#
您可以尝试相反的方法,删除任何 * 不是 * 字母数字字符的符号或符号
.
和@
。举例来说: