删除特殊标点符号



在我的文本中,我有一些特殊字符,如em破折号和guilemet(尖引号(,这些字符不会通过省略string.punctuation来删除

在Python 3中,从字符串中删除这种标点符号的正确方法是什么?

import string
mystring = ' »De fleste – digitale –'
mystring.translate(str.maketrans('', '', string.punctuation))
' »De fleste – digitale –'

试试这个:

import itertools as it
mystring = ' »De fleste – digitale –'
newstring = ''
mystring = newstring.join(it.filterfalse(lambda x: x in '»–', mystring))
print(mystring) #=> " De fleste  digitale"

这里有一个简单的解决方案:

mystring = ' »De fleste – digitale –'
print(''.join(x for x in mystring if x not in ['»', '–', '?', '!', '«']))

您可以在.join()函数内的列表中添加任何想要省略的内容

相关内容

  • 没有找到相关文章

最新更新