您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python如何刪除字符串中指定字符的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
import re temp = "司法局讓我和戶 1 5. 8 0. !!?? 客戶維護戶外" temp = temp.decode("utf8") string = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+".decode("utf8"), "".decode("utf8"),temp) print string
或者是這樣的
'''引入string模塊''' import string '''使用標點符號常量''' string.punctuation text = "*/@》--【】--12()測試*()" '''去除字符串中所有的字符,可增加自定義字符''' def strclear(text,newsign=''): import string # 引入string模塊 signtext = string.punctuation + newsign # 引入英文符號常量,可附加自定義字符,默認為空 signrepl = '@'*len(signtext) # 引入符號列表長度的替換字符 signtable = str.maketrans(signtext,signrepl) # 生成替換字符表 return text.translate(signtable).replace('@','') # 最后將替換字符替換為空即可 strclear(text,'》【】')
我一開始用的后面的這個,著實是有點暴力,于是找了查了一下原文檔,發現python3中完全有更好的方法去實現這樣的功能(似乎是新更新的?不太清楚,我的是python最新版本3.6.6)
和上面的方法一樣是利用的是str的translate()和maketrans()
translate()自然不用說這里的重點是maketrans(),先放上官方的文檔
static str.maketrans(x[, y[, z]]) This static method returns a translation table usable for str.translate(). If there is only one argument, it must be a dictionary mapping Unicode ordinals (integers) or characters (strings of length 1) to Unicode ordinals, strings (of arbitrary lengths) or None. Character keys will then be converted to ordinals. If there are two arguments, they must be strings of equal length, and in the resulting dictionary, each character in x will be mapped to the character at the same position in y. If there is a third argument, it must be a string, whose characters will be mapped to None in the result.
可以看出maketrans是可以放三個參數的(以前一直以為只有兩個....)
前兩個參數是需要一一對應進行替換,需要字符串長度相同
第三個參數是直接替換為None
這里就直接上代碼了
import string i = 'Hello, how are you!' i.translate(str.maketrans('', '', string.punctuation)) >>>'Hello how are you' i = 'hello world i am li' i.translate(str.maketrans('','','l')) >>>'heo word i am i'
這里的string.punctuation 是python內置的標點符號的合集
感謝各位的閱讀!關于“python如何刪除字符串中指定字符”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。