删除特殊标点符号
Removing special punctuation
在我的文本中,我有一些特殊字符,例如 em 破折号和 guillemets(尖引号),这些字符不会通过省略 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()
函数
的列表中添加您想要省略的任何内容
在我的文本中,我有一些特殊字符,例如 em 破折号和 guillemets(尖引号),这些字符不会通过省略 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()
函数