在python數據處理過程中,有時候需要將字符串中的特殊字符和數字進行剔除。我們可以利用正則表達式來輕松的完成它。
File "D:\software\python\lib\re.py", line 194, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
舉個例子:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import re
if __name__ == '__main__':
content = "中國人民銀行關於商業銀行辦理養老保險個人賬戶基金人民幣協議存款的通知", "銀發[2002]369號", "中國人民銀行各分行、營業管理部,各國有獨資商業銀行,股份制商業銀行:"
text = re.sub(r'[\s\d,。??!“”‘’\[\]…:;:()《》、—..*~~_--]', '', content)
print(text)
這個例子比較簡單,但是你運行之後,會發現會報錯:
異常錯誤解決辦法:
這是因為content不是一個字符串,需要將content轉換成字符串類型或者將content定義成字符串類型。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import re
if __name__ == '__main__':
content = "中國人民銀行關於商業銀行辦理養老保險個人賬戶基金人民幣協議存款的通知,銀發[2002]369號中國人民銀行各分行、營業管理部,各國有獨資商業銀行,股份制商業銀行:"
text = re.sub(r'[\s\d,。??!“”‘’\[\]…:;:()《》、—..*~~_--]', '', content)
print(text)
程序運行結果: