在 Python 中從字串中刪除數字

Muhammad Waiz Khan 2023年1月30日 2021年3月21日
  1. 在 Python 中使用 string.join() 方法中從字串中刪除數字
  2. 在 Python 中使用 string.translate() 方法從字串中刪除數字
  3. 在 Python 中使用 re.sub() 方法從字串中刪除數字
在 Python 中從字串中刪除數字

本教程將探討各種方法,以從 Python 中的字串中刪除數字或數字。在資料清理過程中,我們通常會從自然語言處理中的資料中刪除數字。

假設我們有一個字串 abcd1234efg567,並且我們想從字串中刪除數字以得到類似於 abcdefg 的字串。我們可以使用以下方法從 Python 中的字串中刪除數字:

在 Python 中使用 string.join() 方法中從字串中刪除數字

string.join(iterable) 方法將一個可迭代物件 iterable 作為輸入,使用 string 的值作為分隔符將其元素連線在一起,並返回結果字串作為輸出。

要從字串中刪除數字,我們將首先遍歷字串並選擇非數字值,然後將它們傳遞給 string.join() 方法以將它們連線起來,並獲得帶有非數字字元的結果字串作為輸出。

下面的示例程式碼演示瞭如何使用 string.join() 方法從 Python 中的字串中刪除數字。

string = 'abcd1234efg567'
newstring = ''.join([i for i in string if not i.isdigit()])
print(newstring)

輸出:

abcdefg

在 Python 中使用 string.translate() 方法從字串中刪除數字

Python 2 中的 string.translate(map) 方法將對映表或字典作為輸入,並在將指定的字元替換為輸入對映表或字典中定義的字元後返回字串。

下面的示例程式碼演示瞭如何在 Python 2 中使用 string.translate() 方法從字串中刪除數字。

from string import digits

string = 'abcd1234efg567'
newstring = string.translate(None, digits)
print(newstring)

輸出:

abcdefg

在 Python 3 中,string.translate(table) 將翻譯表作為輸入,而不是像 Python 2 中那樣對映表或字典作為輸入。因此,我們需要使用 str.maketrans() 方法來獲取翻譯表,將其用作 string.translate() 方法的輸入。

下面的示例程式碼演示瞭如何在 Python 3 中使用 string.translate()str.maketrans() 方法從字串中刪除數字:

from string import digits

string = 'abcd1234efg567'
table = str.maketrans('', '', digits)
newstring = string.translate(table)
print(newstring)

輸出:

abcdefg

在 Python 中使用 re.sub() 方法從字串中刪除數字

re.sub(pattern, replace, string)string 作為輸入,並通過用 replace 值替換 pattern 字串(用正規表示式描述)的非重疊出現來返回字串。在字串中。

數字的正規表示式為 [0-9]+。我們只需要將其作為 pattern 引數傳遞,並將''作為 replace,就可以使用 re.sub() 方法從輸入 string 中刪除數字。

下面的示例程式碼演示瞭如何使用 re.sub() 方法從字串中刪除數字:

import re
string = 'abcd1234efg567'
newstring = re.sub(r'[0-9]+', '', string)
print(newstring)

輸出:

abcdefg

相關文章 - Python String