是否有一个正则表达式过滤器来删除附加在特殊字符上的字符?(@,#)



我得到了一个用户推文的.csv文件,我打算将其提供给GPT-2模型,我想使用正则表达式过滤器来删除每行中包含的任何回复和标签。我正在寻找一种删除@和#等元素的方法,因此使用python删除@和##以及附加到符号上的文本。

我试着用这个作为过滤器,但我很好奇是否有一个更简单的方法:

(?:^|_|[^w&/]+)(?:#|@)([wÀ-ÖØ-öø-ÿ]+)

不是简单很多,而是一些事情。

您是否将此regex传递给re.sub以重写字符串?Newstring=re.sub(pattern, '',texttorewrite)sub将用第二个参数替换整个匹配,在这种情况下,什么都不替换。默认情况下,它还会替换所有匹配项。

你的第一组似乎应该是像这样的负面回顾

(?<![w&/])

字符串的开头匹配一个否定的lookbacking。如果您需要下划线作为分隔符,请将其替换为a-zA-Z0-9。

然后代替第二组,只[@&]没有parens,并在最后一组周围失去parens。

总之,

Newstring = re.sub(r'(?<![w&/])[@&][wÀ-ÖØ-öø-ÿ]+', '', texttorewrite)

相关内容

  • 没有找到相关文章

最新更新