【发布时间】:2010-09-20 22:13:24
【问题描述】:
似乎应该有比以下更简单的方法:
import string
s = "string. With. Punctuation?" # Sample string
out = s.translate(string.maketrans("",""), string.punctuation)
有吗?
【问题讨论】:
-
对我来说似乎很简单。你为什么要改变它?如果你想让它更简单,只需将你刚刚编写的内容包装在一个函数中。
-
嗯,使用 str.translate 的一种副作用来完成这项工作似乎有点骇人听闻。我在想可能有更像 str.strip(chars) 的东西,它适用于整个字符串,而不仅仅是我错过的边界。
-
也取决于数据。在服务器名称中使用下划线作为名称的一部分(在某些地方很常见)的数据上使用它可能会很糟糕。只要确保您了解数据及其包含的内容,否则您最终可能会遇到 clbuttic 问题的一个子集。
-
还取决于您所说的标点符号。 “
The temperature in the O'Reilly & Arbuthnot-Smythe server's main rack is 40.5 degrees.”只包含一个标点符号,第二个“.” -
我很惊讶没有人提到
string.punctuation根本不包含非英语标点符号。我在想。,!?:ד”〟等等。
标签: python string punctuation