过滤文本中的中英文标点符号、字母、数字、表情

目录

 

1.过滤中文标点符号

2.过滤英文标点符号

3.过滤大小写字母

4.过滤数字

5.过滤中英文标点符号、字母及数字

6.过滤表情


1.过滤中文标点符号

import re
import zhon
from zhon.hanzi import punctuation

#过滤中文标点符号
def filter_punc(desstr,restr=''):
    pattern = re.compile("|[%s]+" % zhon.hanzi.punctuation)#匹配中英文符号及字母数字
    return pattern.sub(restr,desstr)

2.过滤英文标点符号

import re
import string

#过滤英文标点符号
def filter_punc(desstr,restr=''):
    pattern = re.compile("[%s]+" % string.punctuation)#匹配中英文符号及字母数字
    return pattern.sub(restr,desstr)

3.过滤大小写字母

import re

#过滤大小写字母
def filter_punc(desstr,restr=''):
    pattern = re.compile("|[%s]+" % 'a-zA-Z')#匹配中英文符号及字母数字
    return pattern.sub(restr,desstr)

4.过滤数字

import re

#过滤数字
def filter_punc(desstr,restr=''):
    pattern = re.compile("|[%s]+" % '0-9')#匹配中英文符号及字母数字
    return pattern.sub(restr,desstr)

5.过滤中英文标点符号、字母及数字

import re
import string
import zhon
from zhon.hanzi import punctuation

#过滤中英文标点符号、字母、数字
def filter_punc(desstr,restr=''):
    pattern = re.compile("[%s]+" % string.punctuation + "|[%s]+" % zhon.hanzi.punctuation + "|[%s]+" % 'a-zA-Z0-9')#匹配中英文符号及字母数字
    return pattern.sub(restr,desstr)

6.过滤表情

import re

def filter_emoji(desstr,restr=''): 
    try: 
       co = re.compile(u'[\U00010000-\U0010ffff]') 
    except re.error:
       co = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') 
    return co.sub(restr, desstr)

 

你可能感兴趣的:(Python基础知识,NLP)