从字符串中删除多个出现的字符,除了 pyspark 中的一个字符

remove multiple occurred chars from a string except one char in pyspark

如果数据框看起来像这样 df = df.withColumn('NUM_COL', lit('Hey$$$ Hey$ T$$')) 并且当我需要将此字符串设为 Hey$ Hey$ T$。我找不到任何合适的解决方案。对于 IBM datastage 中的一个实例,有一种方法可以通过使用 Trim(mylink.mystring,".") 来删除冗余字符来执行此操作。 PySpark 中对此的最佳解决方案是什么?

regexp_replace 应该做的工作:

df = df.withColumn('replaced', F.regexp_replace('value', r'(.)+', ''))

这里的想法是使用 pattern 中的(第一个)组作为替换。