在 Python 中從字串中刪除數字
-
在 Python 中使用
string.join()
方法中從字串中刪除數字 -
在 Python 中使用
string.translate()
方法從字串中刪除數字 -
在 Python 中使用
re.sub()
方法從字串中刪除數字
本教程將探討各種方法,以從 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