gpt4 book ai didi

python - 删除字符串中包含两个或更少字母的所有单词,除了单词 "no"Python

转载 作者:行者123 更新时间:2023-12-01 01:12:56 24 4
gpt4 key购买 nike

标题是不言自明的:在我的语言中,大多数三个或更少字母的单词不会给文本增加值(value),除了“不”这个词可能完全改变句子的含义。

我可以通过执行以下操作删除所有包含 3 个或更少字母的单词:

shortword = re.compile(r'\W*\b\w{1,3}\b')
df.text=df.text.apply(lambda x: shortword.sub('', x) )

我只需要输入一些条件语句来省略“否”一词,但我不知道如何继续。

有什么想法吗?

最佳答案

您可以使用

r'\W*\b(?!no)\w{1,2}\b'
^^^^^^

详细信息

  • \W* - 0+ 个非单词字符
  • \b - 单词边界
  • (?!no) - 紧邻当前位置的右侧,不能有 no字符序列
  • \w{1,2} - 1 或 2 个单词字符(如果您只需要匹配字母单词,请使用 [^\W\d_]{1,2} 代替)
  • \b - 单词边界

此外,您可以使用df['text'] = df['text'].str.replace(r'\W*\b(?!no)\w{1,2}\b', '')对单个列执行搜索和替换操作。

关于python - 删除字符串中包含两个或更少字母的所有单词,除了单词 "no"Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54657269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com