python中正则表达式regex库的使用
python中内置了re模块,可以根据正则表达式处理字符串,对于一些问题,使用regex库可以更方便的解决。
安装:
1 | sudo pip install regex |
我使用的版本为python2.7,在处理unicode字符串时需要指定字符编码,python3需要进行相应修改。
载入文本:
1 2 | f = codecs. open (PATH, 'r' , 'utf-8' ) lines = f.readlines() |
通过pandas载入文件:
1 | df = pandas.read_csv(PATH,encoding = 'utf-8' ) |
Unicode字符编码分为如下几类,具体的分类可以参考:https://www.cnblogs.com/qixuejia/p/4211428.html
P:标点字符;
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符
使用如下代码可以将字符串text中的标点字符和数字全部替换为空格,可以根据情况自行修改。
1 2 | import regex as re text = re.sub(ur "\p{P}+|\p{N}+" , u ' ' , text) |