[英]Filter a pyspark.RDD with regex
我有一個 pyspark.RDD 包含我想過濾掉的日期。 日期以這種形式出現在我的 RDD 中:
data.collect() = ["Nujabes","Hip Hop","04:45 16 October 2018"]
我一直在嘗試通過正則表達式過濾掉這些:
r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}"
但我做錯了:
data = data.filter(lambda x: x != r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}")
對於上面給定的data
,所需的 output 將是
data.collect() = ["Nujabes","Hip Hop"]
您可以使用 Python 正則表達式進行過濾:
data2 = data.filter(lambda x: not re.match(r"[0-9]{2}:[0-9]{2} [0-9]{2} [A-Z][a-z]+ [0-9]{4}", x))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.