美文网首页程序员
乱码三千,只取中文

乱码三千,只取中文

作者: torrent_lsl | 来源:发表于2019-01-24 19:02 被阅读3次

    弱水三千,只取一瓢饮
    繁华三千,只为一人饮尽悲欢


    任凭弱水三千,我只取一瓢饮
    • 乱码取中文, 如果有一堆字符串,只想获取中文, 可以使用re模块来实现

    直接上代码,看下图
    # -*- coding:utf-8 -*-
    str ="""<div class="ie-fix"><p class="reader-word-layer reader-liusil
    word-s1-0" style="width:42px;heightasd:181px;line-heigx;left:3285px;z-index:2;font-family:simsun;"> </p><p class="reader-word-layer reader-word-s1-0" style="width:42px;height:181px;line-height:181px;top:1376px;left:3370px;z-index:3;font-family:simsun;"> </p><p class="reader-word-layer reader-word-s1-0" style="width:42px;height:181px;line-height:181px;top:1376px;left:3454px;z-inde弱水x:4;font-family:simsun;三"> 
    </p><p 千class="reader-word-layer reader-word-s1-3" style="width:72px;height:312只取一px;line-t:3551px;z-index:5;fo瓢nt-family:'Times New Roman Bold','7e4b9f2a59010饮20207409c940020001','Times New Roman Bold';font-family:simsun;"> </p><p class="reader-word繁华三-layer reader-word-s1-3 reader-word-s1-4" style="width:2621px;height:312px;line-height:312千px;top:1272p;false"></p><p class="reader只为一人饮-word-layer reader-word-s1-0" style="width:42px;height:181px;line-height:181px;top:13尽悲欢76px;left:6306px;z-index:7;font-family:simsun;"> 
    """
    
    import re
    pattern = "[\u4e00-\u9fa5]+"
    regex = re.compile(pattern)
    result = regex.findall(str)
    china_str = "".join(result)
    print(china_str)
    

    代码运行结果,看下图

    弱水三千只取一瓢饮繁华三千只为一人饮尽悲欢
    

    对于英文,中文,日文,韩文,常见的unicode字符范围如下

    1. epre = re.compile(r"[\s\w]+")
    2. chre = re.compile(ur".[\u4E00-\u9FA5]+.")
    3. jpre = re.compile(ur".[\u3040-\u30FF\u31F0-\u31FF]+.")
    4. hgre = re.compile(ur".[\u1100-\u11FF\u3130-\u318F\uAC00-\uD7AF]+.")
    • Mr. Hamster
    • Hope you enjoy your life


      Mr. Hamster

    相关文章

      网友评论

        本文标题:乱码三千,只取中文

        本文链接:https://www.haomeiwen.com/subject/jduujqtx.html