如何在Python中去除字串中除數字外的所有字元?
在本文中,我們將瞭解如何在Python中去除字串中除數字外的所有字元。
第一種方法是使用for迴圈中的if語句,並使用join()方法將它們連線起來。我們將使用for迴圈迭代字串,然後使用if語句檢查每個字元是否是數字,如果是數字,則繼續下一個字元,否則將替換該字元。
要重複迭代序列,請使用for迴圈。此功能更類似於在其他面向物件程式語言中看到的迭代器方法,並且不太像在其他程式語言中找到的for關鍵字。for迴圈允許我們針對列表、元組、集合等的每個元素執行一系列指令。
示例
在下面的示例中,我們以字串作為輸入,並使用for迴圈和if語句去除除數字外的所有字元−
str1 = "W3lc0m3"
print("The given string is:")
print(str1)
print("Removing all the characters except digits")
print(''.join(i for i in str1 if i.isdigit()))
輸出
上面示例的輸出如下所示−
The given string is: W3lc0m3 Removing all the characters except digits 303
使用filter()和lambda()
第二種方法是使用filter()和lambda()。我們將使用lambda()函式迭代字串,並使用filter()方法過濾掉非數字字元,然後列印只包含數字的輸出字串,去除所有其他字元。
示例
在下面的示例中,我們以字串作為輸入,並使用filter()和lambda()去除除數字外的所有字元,並列印結果字串。−
str1 = "W3lc0m3"
print("The given string is:")
print(str1)
print("Removing all the characters except digits")
print(list(filter(lambda i: i.isdigit(), str1)))
輸出
上面示例的輸出如下所示−
The given string is: W3lc0m3 Removing all the characters except digits ['3', '0', '3']
使用正則表示式
第二種技術使用正則表示式。匯入re庫,如果尚未安裝,請安裝它以使用它。匯入re庫後,我們可以使用正則表示式“\D”。我們將在re.sub函式中使用術語“\D”來表示除數字以外的所有字元,並將非數字字元替換為空格。
示例
在下面的示例中,我們以字串作為輸入,並使用正則表示式去除除數字以外的所有字元,並列印結果字串−
import re
str1 = "W3lc0m3"
print("The given string is:")
print(str1)
print("Removing all the characters except digits")
print(re.sub("\D", "", str1))
輸出
上面示例的輸出如下所示−
The given string is: W3lc0m3 Removing all the characters except digits 303
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP