一行Python代碼過濾標(biāo)點(diǎn)符號等特殊字符
很多時(shí)候我們需要過濾掉標(biāo)點(diǎn)符號等特殊字符,網(wǎng)上雖然有一堆的方法,但是都沒有找到一個(gè)非常滿意的,有些過濾不了中文的標(biāo)點(diǎn)符號,有些過濾不了英文的標(biāo)點(diǎn)符號,有些過濾不全。
最后通過查看正則表達(dá)式文檔,發(fā)現(xiàn)一個(gè)高效的辦法,一行代碼就能搞定:
def replace_all_blank(value):
"""
去除value中的所有非字母內(nèi)容,包括標(biāo)點(diǎn)符號、空格、換行、下劃線等
:param value: 需要處理的內(nèi)容
:return: 返回處理后的內(nèi)容
"""
# \W 表示匹配非數(shù)字字母下劃線
result = re.sub('\W+', '', value).replace("_", '')
print(result)
return result
其中用到了 Python 的 re 模塊, re 模塊里面包含了所有的正則表達(dá)式的應(yīng)用。代碼里面有幾個(gè)點(diǎn):
\W
測試一下:
replace_all_blank("Powe, on;the 2333, 。哈哈 !!看看可以嗎?一行代碼就可以了!^_^")
輸出結(jié)果:
Poweonthe2333哈哈看看可以嗎一行代碼就可以了
一行代碼搞定!Perfect!
最后推薦大家官網(wǎng) re 模塊的正則表達(dá)式文檔地址:
https://docs.python.org/zh-cn/3.6/library/re.html
知識點(diǎn)擴(kuò)展:
python過濾中英文標(biāo)點(diǎn)符號
import re
# 過濾不了\\ \ 中文()還有————
r1 = u'[a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~]+'#用戶也可以在此進(jìn)行自定義過濾字符
# 者中規(guī)則也過濾不完全
r2 = "[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+"
# \\\可以過濾掉反向單杠和雙杠,/可以過濾掉正向單杠和雙杠,第一個(gè)中括號里放的是英文符號,第二個(gè)中括號里放的是中文符號,第二個(gè)中括號前不能少|(zhì),否則過濾不完全
r3 = "[.!//_,$&%^*()<>+\"'?@#-|:~{}]+|[——!\\\\,。=?、:“”‘'《》【】¥……()]+"
# 去掉括號和括號內(nèi)的所有內(nèi)容
r4 = "\\【.*?】+|\\《.*?》+|\\#.*?#+|[.!/_,$&%^*()<>+""'?@|:~{}#]+|[——!\\\,。=?、:“”‘'¥……()《》【】]"
text = "\崔蕓,\\我愛=+你!【我//""們】~————結(jié)/婚'吧::!這.!!_#??()個(gè)‘'“”¥$主|意()不錯(cuò)......!"
print(re.sub(r1, , '', text))
總結(jié)
以上所述是小編給大家介紹的一行代碼Python過濾標(biāo)點(diǎn)符號等特殊字符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
對Django中的權(quán)限和分組管理實(shí)例講解
今天小編就為大家分享一篇對Django中的權(quán)限和分組管理實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程
最近Python 3發(fā)布了新版本Python 3.6.0,好像又加入了不少黑魔法!由于暫時(shí)不能使用 apt-get 的方式安裝 Python 3.6,所以還是直接編譯源碼安裝吧。下面這篇文章就介紹了在Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程,需要的朋友可以參考下。2016-12-12
python教程對函數(shù)中的參數(shù)進(jìn)行排序
這篇文章主要介紹了python教程對函數(shù)中的參數(shù)進(jìn)行排序的方法講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09
Python使用Socket實(shí)現(xiàn)簡單聊天程序
這篇文章主要介紹了Python使用Socket實(shí)現(xiàn)簡單聊天程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Python與AI分析時(shí)間序列數(shù)據(jù)
預(yù)測給定輸入序列中的下一個(gè)是機(jī)器學(xué)習(xí)中的另一個(gè)重要概念.本章為您提供有關(guān)分析時(shí)間序列數(shù)據(jù)的詳細(xì)說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-05-05

