作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个字符串,我想用它删除所有标点符号。我目前使用:
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/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!