python中文本字符處理的簡單方法記錄
今天,跟大傢分享一下我做小項目時想出來的文本字符處理的方法,希望能對大傢有所幫助。
完整代碼:
strings = "我,是‘C|S;D|N!的:程【序】員#M,r&.;P'a#n?_&學?狂"#將字符串設置好 def String_Process(string):#定義一個字符處理函數,設置參數string,是有待處理的字符串。 print("python使我快樂!!") print("未處理的字符串:",string) varchar = '‘'“”:#,!【】,&#|?|,&;;?:"'#人為設定字符集合 ls = []#定義一個列表用於存儲拆散的字符 for s in string: ls.append(s)#將字符串拆散存進列表中 for element in ls: if element in varchar:#如果在字符集合內發現,則從列表中刪除 ls.remove(element) String = ''#定義字符串 for l in ls:#將列表中拆散的元素組合回去。 String = String+l print("處理後的字符串:",String)#得到處理結果 String_Process(string=strings)#調用函數,傳入實參給形參。
運行結果,如下圖:
對於處理文本字符的思想在代碼中已經說明,關於代碼的解釋在註釋中也寫出瞭。我們把它通過函數進行封裝,當我們需要處理文本字符的時候,通過調用函數就可以實現文本字符處理瞭。當然,調用函數處理字符時需要得到string返回值以及註釋掉print,因為我們如果是在循環中調用,沒必要全部打印一遍,影響視覺對文本的分析。即修改代碼如下圖:
對於上面的文本處理代碼,我又做瞭一次更新,可以增加新的字符或者是字符串來更新字符集合,更加方便處理文本中的字符。
改進後的代碼,如下圖:
strings = "我,是‘C|S;D|N!的:程【序】員#M,r&.;②P'「(a#n」?_&學?狂..."#將字符串設置好 def Process(string):#定義一個字符處理函數,設置參數string,是有待處理的字符串。 print("python使我快樂!!") print("未處理的字符串:",string) varchar = '‘'“”:#,!【】,&#|?|,&;;?:"'#人為設定字符集合 var_ls = [] for var in varchar: var_ls.append(var) print("這是當前的字符集合:",var_ls) while True: want = str(input("是否需要增加新的字符/字符集合?(yes or no)")) if want == 'yes': add_varchar = str(input("請輸入需要增加的新字符/字符集合:")) for var in add_varchar: var_ls.append(var) print("更新後的字符集合:",var_ls) elif want == 'no': break else: print("輸入有誤!!請重試!!") continue ls = []#定義一個列表用於存儲拆散的字符 for s in string: ls.append(s)#將字符串拆散存進列表中 for element in ls[:]: if element in var_ls:#如果在字符集合內發現,則從列表中刪除 ls.remove(element) elif element not in var_ls: continue String = ''#定義字符串 for l in ls:#將列表中拆散的元素組合回去。 String = String+l print("處理後的字符串:",String)#得到處理結果 Process(string=strings)#調用函數,傳入實參給形參。
代碼的解釋在註釋中寫瞭,大傢如果對代碼不理解可以和我私信探討。
運行結果,如下圖:
總結
到此這篇關於python中文本字符處理的文章就介紹到這瞭,更多相關python文本字符處理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python實戰案例之可增刪改查的員工管理系統
- Python的數據類型與標識符和判斷語句詳解
- python實現學生管理系統源碼
- Python中的變量、運算符與流程控制
- Python函數實現學員管理系統