gpt4 book ai didi

python - 如何自定义使用 string.punctuation 过滤掉哪些字符?

转载 作者:行者123 更新时间:2023-11-28 20:15:47 29 4
gpt4 key购买 nike

我有一个字符串,我想用它删除所有标点符号。我目前使用:

import string
translator = str.maketrans('','', string.punctuation)
name = name.translate(translator)

但是,对于作为名称的字符串,这也删除了连字符,我想将其保留在字符串中。例如“\Fred-Daniels!”应该变成“Fred-Daniels”。

如何修改上面的代码来实现这一点?

最佳答案

如果你想从 string.puncation 中排除一些标点符号,你可以简单地删除你不想考虑的那些:

>>> from string import punctuation
>>> from re import sub
>>>
>>> string = "\Fred-Daniels!"
>>> translator = str.maketrans('','', sub('\-', '', punctuation))
>>> string
'\\Fred-Daniels!'
>>> string = string.translate(translator)
>>> string
'Fred-Daniels'

请注意,如果您只想排除一两个字符,则应使用 str.replace。否则,最好坚持使用 re.sub

关于python - 如何自定义使用 string.punctuation 过滤掉哪些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45427439/

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