Python提取中文字符

简介: Python提取中文字符

写这个jupyter的原因是好几次自己爬完新闻之后,发现中间有些是html标签代码或者其他多余的英文字符,自己也不想保留,那么这时候一个暴力简单的方法就是使用 unicode 范围 \u4e00 - \u9fff 来判别汉字


unicode 分配给汉字(中日韩越统一表意文字)的范围为 4E00-9FFF

(目前 unicode 6.3 的标准已定义到 9FCC )

# 判断字符是否全是中文
def ishan(text):
    # for python 3.x
    # sample: ishan('一') == True, ishan('我&&你') == False
    return all('\u4e00' <= char <= '\u9fff' for char in text)

ishan("asas112中国")

False

# 提取中文字符
import re
def extract_chinese(txt):
    pattern = re.compile("[\u4e00-\u9fa5]")
    return "".join(pattern.findall(txt))
extract_chinese("任命的。</p> <p>3G资本成立于2004年,是")

'任命的资本成立于年是'


还有一个是过滤HTML标签的强大工具

HTMLParser

from html.parser import HTMLParser
def strip_tags(html):
    """
    Python中过滤HTML标签的函数
    >>> str_text=strip_tags("<font color=red>hello</font>")
    >>> print str_text
    hello
    """
    html = html.strip()
    html = html.strip("\n")
    result = []
    parser = HTMLParser()
    parser.handle_data = result.append
    parser.feed(html)
    parser.close()
    result=''.join(result)
    result = result.replace("\n", "")
    return result

strip_tags("<font color=red>hello</font>")

'hello'


相关文章
|
3月前
|
存储 算法 Python
python 无重复字符的最长子串 多种解法
python 无重复字符的最长子串 多种解法
|
7月前
|
Python Windows
用 Python 将神龙大侠搞怪 GIF 转为字符动画
用 Python 将神龙大侠搞怪 GIF 转为字符动画
59 0
用 Python 将神龙大侠搞怪 GIF 转为字符动画
|
9月前
|
自然语言处理 Python
【Python学习笔记】使用jieba分词,输出字符长度大于2词组成的列表(计算机二级题目)
【Python学习笔记】使用jieba分词,输出字符长度大于2词组成的列表(计算机二级题目)
|
1月前
|
索引 Python
Python 超高频常见字符操作【建议收藏】
Python 超高频常见字符操作【建议收藏】
|
2月前
|
Python
在Python中实现图片转字符画灰度处理或灰色量化
在Python中实现图片转字符画灰度处理或灰色量化
25 1
|
2月前
|
计算机视觉 Python
在Python中实现图片转字符画打开图片
在Python中实现图片转字符画打开图片
10 1
|
2月前
|
Python
在Python中实现图片转字符画导入所需库
在Python中实现图片转字符画导入所需库
9 1
|
2月前
|
存储 算法 计算机视觉
在Python中实现图片转字符画
在Python中实现图片转字符画
14 1
|
3月前
|
算法 Python Java
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
39 0
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
|
7月前
|
Python
Python转义字符与原字符
Python转义字符与原字符
33 1