中英文字符混合处理

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 12 11:26:30 2019

@author: macbook
"""

def is_zh(c) :
    x = ord(c) 
    # Punct & Radicals 
    if x >= 0x2e80 and x <= 0x33ff:
        return True 
    # Fullwidth Latin Characters 
    elif x >= 0xff00 and x <= 0xffef:
        return True 
    # CJK Unified Ideographs & 
    # CJK Unified Ideographs Extension A 
    elif x >= 0x4e00 and x <= 0x9fbb:
        return True 
    # CJK Compatibility Ideographs 
    elif x >= 0xf900 and x <= 0xfad9:
        return True 
    # CJK Unified Ideographs Extension B 
    elif x >= 0x20000 and x <= 0x2a6d6:
        return True 
    # CJK Compatibility Supplement 
    elif x >= 0x2f800 and x <= 0x2fa1d:
        return True 
    else:
        return False


def split_zh_en(zh_en_str) :

    zh_en_group = [ ] 
    zh_gather = "" 
    en_gather = "" 
    zh_status = False 
    mark = []
    for c in zh_en_str:
        if not zh_status and is_zh(c) :
            zh_status = True 
            if en_gather != "" :
                zh_en_group.append(en_gather) 
                en_gather = "" 
        elif not is_zh(c) and zh_status:
            zh_status = False 
            if zh_gather != "" :
                zh_en_group.append(zh_gather) 
        if zh_status:
            zh_gather += c
        else :
            en_gather += c                               
            zh_gather = "" 

    if en_gather != "" :
        zh_en_group.append(en_gather) 
    elif zh_gather != "" :
        zh_en_group.append(zh_gather) 

    return zh_en_group



word = '好人examples.append(example)好事'

aa =split_zh_en(word)

list(aa)








 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值