pyspark dataframe:删除列中的一些整词,但不区分大小写

juud5qan  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(535)

我试图删除pysparkDataframe列中的一些整词(但不区分大小写)。

import re
s = "I like the book. i'v seen it. Iv've" # add a new phrase
exclude_words = ["I", "I\'v", "I\'ve"]

exclude_words_re = re.compile(r"\b(" + r"|".join(exclude_words) +r")\b|\s", re.I|re.M)
exclude_words_re.sub("" , s)

我补充道

"Iv've"

但是,我得到了:

'like the book. seen it.'

“iv've”不应删除,因为它与排除的单词中的任何整词都不匹配。

l2osamch

l2osamch1#

要实现代码的2个更改:
使用适当的正则表达式标志忽略大小写
添加 \b 只包括整句话。

import re
s = "I like the book. i'v seen it. Iv've I've"
exclude_words = ["I", "I\'v", "I\'ve"]

exclude_words_re = re.compile(r"(^|\b)((" + r"|".join(exclude_words) +r"))(\s|$)", re.I|re.M)
exclude_words_re.sub("" , s)

"like the book. seen it. Iv've "

相关问题