首頁  >  文章  >  後端開發  >  Python如何刪除除字母和數字之外的所有字元? (程式碼範例)

Python如何刪除除字母和數字之外的所有字元? (程式碼範例)

青灯夜游
青灯夜游原創
2019-03-21 10:03:5912048瀏覽

字串操作是日常編碼和Web開發中非常重要的任務;例如:HTTP查詢中的大多數請求和回應都是字串形式,有時我們需要刪除一些無用的資料。以下這篇文章就來跟大家介紹一些Python方法來將指定字串中除字母和數字之外的所有字元都刪除,希望對大家有所幫助。

Python如何刪除除字母和數字之外的所有字元? (程式碼範例)

方法一:使用re.sub()函數

在Python中正規表示式的功能是很強大的,而re.sub()函數就是Python中的正規替換字串。 re.sub()函數可以使用正規匹配要替換的字串,進而將符合的字串替換成別的字串。

語法:

re.sub(pattern , repl , string , count = 0 , flags = 0)

此函數中的「sub」代表子字串(SubString),在給定的字串(第3個參數)中搜尋特定的正規表示式模式(第1個參數),找到後用repl(第2個參數)中的替換子字串模式進行替換,計數檢查並保持出現這種情況的次數。

程式碼範例:

import re 
  
# 初始化字符串
ini_string = "123ab#cg|+f&ph*&^p:, .@! eiw"
  
#输出初始字符串
print ("初始字符串 : ", ini_string) 
  
# 使用re.sub()函数
result = re.sub('[\W_]+', '', ini_string) 
  
# 输出替换后的字符串
print ("替换后的字符串:", result)

#輸出:

初始字符串 :  123ab#cg|+f&ph*&^p:, .@! eiw
替换后的字符串: 123abcgfphpeiw

方法二:使用isalpha() isnumeric() join()方法

isalpha()方法是Python的一種用於字串處理的內建方法,可以檢查字串是否只由字母組成。如果字串中的所有字元都是字母,則傳回“True”,否則傳回“False”。

isnumeric()方法是Python的一種用於字串處理的內建方法,可以檢查字串是否只由數字組成。如果字串中的所有字符都是數字字符,則返回“True”,否則返回“False”。

join()方法用於將序列中的元素以指定的字元連接產生一個新的字串。

程式碼範例:

import re 
  
# 初始化字符串
ini_string = "123ab#cg|+f&ph*&^p:, .@! eiw"
  
#输出初始字符串
print ("初始字符串 : ", ini_string) 
  
# 使用isalpha()+isnumeric()+join()方法
getVals = list([val for val in ini_string 
               if val.isalpha() or val.isnumeric()]) 
  
result = "".join(getVals) 
  
# 输出替换后的字符串
print ("替换后的字符串:", result)

#輸出:

初始字符串 :  123ab#cg|+f&ph*&^p:, .@! eiw
替换后的字符串: 123abcgfphpeiw

方法三:使用isalnum() join()

isalnum()函數用於檢查給定字串中的所有字元是否都是字母或數字。

程式碼範例:

import re 
  
# 初始化字符串
ini_string = "123ab#cg|+f&ph*&^p:, .@! eiw"
  
#输出初始字符串
print ("初始字符串 : ", ini_string) 
  
# 使用isalnum()+join()方法
getVals = list([val for val in ini_string if val.isalnum()]) 
result = "".join(getVals) 
  
# 输出替换后的字符串
print ("替换后的字符串:", result)

輸出:

初始字符串 :  123ab#cg|+f&ph*&^p:, .@! eiw
替换后的字符串: 123abcgfphpeiw

相關影片教學推薦:《Python教學

#以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是Python如何刪除除字母和數字之外的所有字元? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn