1. 程式人生 > 程式設計 >python 利用正則表示式提取特殊資訊

python 利用正則表示式提取特殊資訊

1、刪除字串中的 Python註釋

案例:

import re 
time = "2020-01-01 # 這是一個日期"
num = re.sub(r'#.*$',"",time)#以#為分隔,去掉後面的資訊
print("這個時間是:",num)

結果:

這個時間是: 2020-01-01

2、擷取某符號前後的內容

案例1:

txt = '我的電話是:131-246-XXX19'
a = txt.split(':')[0]#0表示符號前
b = txt.split(':')[1]#[-1]和[1]結果一樣,表示符號後面
print ("a的結果是:",a)
print ("b的結果是:",b)

結果:

a的結果是: 我的電話是 b的結果是: 131-246-XXX19

案例2:

txt = "I love python . 我熱愛python"
text = re.sub(r'\..*$',txt)#以.為分隔,\為轉義字元,與後面的.區分開
print("這個擷取結果是:",text)

結果:

這個擷取結果是: I love python

3、刪除非數字的字串

案例:

import re 
time = "2020-01-01 # 這是一個日期"
num = re.sub(r'\D',time)
print("這個時間是:",num)

結果:

這個時間是: 20200101

4、只保留中文

案例:

reg = "[^\u4e00-\u9fa5]"
text = "好吧!E我aa們$$開始34學習--python吧!"
print(re.sub(reg,'',text))

結果:

好吧我們開始學習吧

5、只保留中文、大小寫字母和阿拉伯數字

案例:

reg = "[^0-9A-Za-z\u4e00-\u9fa5]"
text = "好吧!E我aa們$$開始34學習--python吧!"
print(re.sub(reg,text))

結果:

好吧E我aa們開始34學習python吧

6、去掉大小寫字母和數字

案例:

import re
txt="Ayouleyang阿~優樂-揚"
text = re.sub('[a-zA-Z0-9]',txt)
print(text)

結果:

阿~優樂-揚 1

7、去掉某個特殊字元

案列:

import re 
txt = '阿*a#優$樂. :揚 ;:youle+'
text = re.sub('[,;;youle: :.;,$*#]+',txt)#[]中的符號都會被替換,類似於replace()
print(text)

結果:

阿a優樂揚+ 1

8、保留英文,數字和特殊符號

案例:

reg = "[^0-9A-Za-z\u4e00-]"#只保留英文,數字和-,u4e00“-”是需要保留的符號
txt = "好吧!我的號碼是131-246-XXX19!::"
text = re.sub(reg,txt)
print(text)

結果:

131-246-XXX19

總結

以上所述是小編給大家介紹的python 利用正則表示式提取特殊資訊,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!