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文本字符處理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
