如何在 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'