如何在 Python 中從一個字串中刪除標點符號

Hassan Saeed 2023年1月30日 2020年10月17日
  1. 在 Python 中使用 string 類方法從字串中刪除標點符號
  2. 在 Python 中使用 regex 從字串中刪除標點符號
  3. 在 Python 中使用 string.punctuation 從一個字串中刪除標點符號
  4. 在 Python 中使用 replace() 從字串中刪除標點符號
如何在 Python 中從一個字串中刪除標點符號

本教程討論了在 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'

相關文章 - Python String