python 过滤中文、英文标点特殊符号

在工作中经常遇到很多特殊的标点符号,像中文标点符号,英文标点符号。英文的标点符号比较容易过滤,而过滤中文的标点符号较麻烦。下面是从邮件中过滤特殊符号的方式供参考。

下面是一封垃圾邮件的过滤实例:

"想做/ 兼_职/学生_/ 的 、加,我Q:  1 5.  8 0. !!??  8 6 。0.  2。 3     有,惊,喜,哦"

邮件中的“!?。、”都是中文的,而“/.”是英文的

下面是过滤方式:

<span style="font-size:18px;">#-*-coding:utf-8-*-
import re
temp = "想做/ 兼_职/学生_/ 的 、加,我Q:  1 5.  8 0. !!??  8 6 。0.  2。 3     有,惊,喜,哦"
temp = temp.decode("utf8")
string = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、[email protected]#¥%……&*()]+".decode("utf8"), "".decode("utf8"),temp)
print string
</span>

过滤后的效果如下:

<span style="font-size:18px;">想做兼职学生的加我Q158086023有惊喜哦</span>

处理成上述格式后就容易进行分词分析处理了。

时间: 2024-10-01 21:11:56

python 过滤中文、英文标点特殊符号的相关文章

关于Solr搜索标点与符号的中文分词你必须知道的(mmseg源码改造)

摘要:在中文搜索中的标点.符号往往也是有语义的,比如我们要搜索“C++”或是“C#”,我们不希望搜索出来的全是“C”吧?那样对程序员来说是个噩梦.然而在中文分词工具mmseg中,它的中文分词是将标点与符号均去除的,它认为对于中文来讲标点符号无意义,这明显不能满足我们的需求.那么怎样改造它让它符合我们的要求呢?本文就是针对这一问题的详细解决办法,我们改mmseg的源代码. 关键字:Solr, mmseg, 中文, 分词, 标点, 符号, 语义 前提:Solr(5.0.0版本),mmseg4j(1.

js将英文标点替换成中文标点符号

js将英文标点替换成中文标点符号,打打字时尤其在做程序,输入法的标点往往不小心就打成英文的了(半角的了),用下边的程序就可以替换过来. function repSign(s) { s = s.replace(/([\u4E00-\u9FA5]|^|\n|\r)([\,\.\?\!])(?=[\u4E00-\u9FA5]|$|\n|\r)/g,function(u,v,w,x) { sign = { ',': ',', '.': '.', '?': '?', '!': '!' }; return

分享《数据科学实战手册(R+Python)》中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1Iw0pHxKqp2mKC9ksR5wfPQ 更多分享资料:https://www.cnblogs.com/javapythonstudy/ <数据科学实战手册(R+Python)>中文PDF+英文PDF+源代码中文PDF,带书签目录,354页:英文PDF,带书签目录,396页:两版对比学习.配套源代码. 中文版如图: 原文地址:https://www.cnblogs.com/javapythonstudy/p/9924670.html

python 正则表达式点号与&#39;\n&#39;符号的问题

遇到了一个小虫,特记录之. 1.正则表达式及英文的处理如下: >>> import re >>> b='adfasdfasf<1safadsaf>23wfsa<13131>' >>> pat = re.compile('<.*?>') >>> pat.findall(b) ['<1safadsaf>', '<13131>'] 2. 换成中文貌似就没反应了 >>&g

Awesome Python(中文对照)

A curated list of awesome Python frameworks, libraries and software. Inspired by awesome-php. Awesome Python Environment Management 环境管理 Package Management              软件包管理 Package Repositories              软件源 Distribution                         

python与中文的那点事

目录 python与中文的那点事 1. utf-8/gbk/unicode/ASCII 2.各种编码之间的转换 3. 统计字符串中数字,字母,汉字的个数 python与中文的那点事 在学习python的过程中,发现在python2与python3中对中文的处理有所不同,所以这篇文章就来探讨一下这些不同 1. utf-8/gbk/unicode/ASCII ??我们都知道,在计算机内部所有的信息都可以被表示成二进制的字符串,每一个二进制位有1和0两种状态,因此8位的二进制数可以表示256种状态,这

phpstorm9 无法输入中文逗号句号等符号了,怎么破?

最近手贱把phpstorm 升级到了最新版,发现输入中文符号输入不了呀,全部都变成英文符号了,例如输入的逗号.句号(,.)等都被转换成了(,.) 经过各方搜索,这个在官方也说了,是个bug,JDK的bug,点击这里去官方查看 目前官方还没有解决补丁,只有降低JDK版本了,目前测试出来 jdk1.8.0_45是可以的, 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.

用python做中文自然语言预处理

这篇博客根据中文自然语言预处理的步骤分成几个板块.以做LDA实验为例,在处理数据之前,会写一个类似于实验报告的东西,用来指导做实验,OK,举例: 一,实验数据预处理(python,结巴分词)1.对于爬取的评论做分词和词性标注处理(mac-result.txt)2.对于结果只用公版的停用词表去停用词,不进行人工筛选(mac-result1.txt)3.保留:名词,名词短语(两者为评论描述主题) 形容词,动词,动词短语(对主题的描述)以及其他可能有实意的词   去除:副词,标点,拟声词等无实意词包括

Python读取中文txt文件错误:UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character

1 with open(file,'r') as f: 2 line=f.readline() 3 i=1 4 while line: 5 line=line.decode('utf-8') 6 print str(i)+": "+line7 line=f.readline() 8 i=i+1 用以上代码读取一个包含中文的txt文件时,在正确地读取并打印了六百多行之后,print str(i)+": "+line这一行报错: UnicodeEncodeError: