python:使用 string.punctuation 删除所有标点符号,除了其他几个
python: removing all punctuations using string.punctuation EXCEPT a few others
我正在尝试使用 string.punctuation 和代码删除名为 fs
的字符串中的标点符号:
fs = fs.translate({ord(i): None for i in string.punctuation})
文中有几条下划线(_
)
如何实现我的代码,使其忽略下划线并删除所有其他下划线?
是不是像:
fs = fs.translate({ord(i): None for i in string.punctuation if '_' not in string.punctuation})
string.punctuation
本身只是一个字符串,因此我们可以使用该字符串的修改版本:{ord(i): None for i in string.punctuation.replace('_', '')}
.
您正在寻找的更通用的技术是:if
将分别检查 for
每个 i
值,并抑制输出(键值对的dict) 当检查为假时。所以条件不应该像 ... if '_' not in string.punctuation
,而是简单的 ... if i != '_'
.
我正在尝试使用 string.punctuation 和代码删除名为 fs
的字符串中的标点符号:
fs = fs.translate({ord(i): None for i in string.punctuation})
文中有几条下划线(_
)
如何实现我的代码,使其忽略下划线并删除所有其他下划线?
是不是像:
fs = fs.translate({ord(i): None for i in string.punctuation if '_' not in string.punctuation})
string.punctuation
本身只是一个字符串,因此我们可以使用该字符串的修改版本:{ord(i): None for i in string.punctuation.replace('_', '')}
.
您正在寻找的更通用的技术是:if
将分别检查 for
每个 i
值,并抑制输出(键值对的dict) 当检查为假时。所以条件不应该像 ... if '_' not in string.punctuation
,而是简单的 ... if i != '_'
.