首页 > 解决方案 > 如何创建自己的标点符号列表以在 python 中删除

问题描述

我想从不同类型的脚本中删除标点符号,英语,阿拉伯语等等以及任何不是我不想要的字母的东西,所以有没有办法使用相同的方法str.replace来创建你自己的标点符号列表

我目前正在使用它删除所有标点符号

dataframe['columnname'].str.replace('[^\w\s]', '')

但是当我尝试替换我想要的列表时它不起作用有没有办法创建我自己的列表

dataframe['columnname'].str.replace(',,?, !, .,:, ;', '')

所以有什么,?!. : ; ' 将被删除,并且此范围之外的任何其他内容都将保留

标签: pythonpandasdataframepunctuation

解决方案


这是必要的 espace 一些特殊的正则表达式字符,如.or ?

dataframe['columnname'] = dataframe['columnname'].str.replace("[,\?!\.:;']", '')

或使用re.escape

import re

pat = '[' + re.escape(",?!.:;'") + ']'
print (pat)
[,\?!\.:;']

dataframe['columnname'] = dataframe['columnname'].str.replace(pat, '')

推荐阅读