pyspark - 过滤包含特殊字符集的行

pyspark - filter rows containing set of special characters

我有一个数据框如下:-

df= 
    a    b     
   goat* bat    
   ki^ck ball
   range@ kick
   rick?  kill

现在我想找出每列中出现的特殊字符总数。所以我使用 str. contains 函数来找到它,虽然它是 运行 但它没有找到特殊字符。

code:-
special = df.filter(df['a'].contains('[\!\@$\^\&\-\_\;\:\?\.\#\*]'))
print(special.count())

output:-  0
excepted output:- 4

您可能想使用 rlike 而不是 contains,这样可以搜索正则表达式

df.filter(df['a'].rlike('[\!\@$\^\&\-\_\;\:\?\.\#\*]')).count()
# 4