如何在 Python 中从一个字符串中删除标点符号
Hassan Saeed
2023年1月30日
-
在 Python 中使用
string
类方法从字符串中删除标点符号 -
在 Python 中使用
regex
从字符串中删除标点符号 -
在 Python 中使用
string.punctuation
从一个字符串中删除标点符号 -
在 Python 中使用
replace()
从字符串中删除标点符号
本教程讨论了在 Python 中从字符串中删除标点符号的方法。这是 NLP 预处理和清理文本数据时特别有用的一步。
在 Python 中使用 string
类方法从字符串中删除标点符号
我们可以使用 String
类提供的内置函数,在 Python 中从字符串中删除标点符号。下面的例子说明了这一点。
s = "string. With. Punctuations!?"
out = s.translate(str.maketrans("", "", string.punctuation))
print(out)
输出:
'string With Punctuations'
上面的方法从一个给定的输入字符串中删除了所有的标点符号。
在 Python 中使用 regex
从字符串中删除标点符号
我们也可以在 Python 中使用 regex
从字符串中删除标点符号。下面的例子说明了这一点。
import re
s = "string. With. Punctuation?"
out = re.sub(r"[^\w\s]", "", s)
print(out)
输出:
'string With Punctuations'
在 Python 中使用 string.punctuation
从一个字符串中删除标点符号
它与讨论的第一种方法类似。string.punctuation
包含了所有在英语中被认为是标点符号的字符。我们可以使用这个列表,从一个字符串中排除所有的标点符号。下面的例子说明了这一点。
s = "string. With. Punctuation?"
out = "".join([i for i in s if i not in string.punctuation])
print(out)
输出:
'string With Punctuations'
在 Python 中使用 replace()
从字符串中删除标点符号
在 Python 中,我们还可以使用 replace()
从一个字符串中删除出标点符号。同样,我们使用 string.punctuation
来定义一个标点符号的列表,然后用一个空字符串替换所有的标点符号来删除标点符号。下面的例子说明了这一点。
s = "string. With. Punctuation?"
punct = string.punctuation
for c in punct:
s = s.replace(c, "")
print(s)
输出:
'string With Punctuations'