在python数据处理过程中,有时候需要将字符串中的特殊字符和数字进行剔除。我们可以利用正则表达式来轻松的完成它。 File "D:\software\python\lib\re.py", line 194, in sub return _compile(pattern, f
在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)
程序运行结果: