python 里的字符编码不统一导致中英文的处理有不同的结果,下面介绍中文英文混合字符串 split 的方法。

分割词

#!/usr/bin/env python

# -*- coding: utf-8 -*-

s = '我爱北京天安门python'

s2 = ''

if not isinstance(s, unicode):

s2 = s.decode("utf-8")

slist = []

keys = []

for i in s2:

print i

slist.append(i)

key = '%X' % ord(i)

keys.append(key)

print len(slist)

print slist

print len(keys)

print keys

# =====================

s = u'我爱北京天安门python'

slist = []

keys = []

for i in s:

if not isinstance(i, unicode):

i = i.decode("utf-8")

print i

slist.append(i)

key = '%X' % ord(i)

keys.append(key)

print len(slist)

print slist

print len(keys)

print keys

用正则

import re

s = 'hi新手oh'.decode('utf-8') #举个栗子是字符串s,为了匹配下文的unicode形式,所以需要解码

p = re.compile(ur'[\u4e00-\u9fa5]') #这里是精髓,[\u4e00-\u9fa5]是匹配所有中文的正则,因为是unicode形式,所以也要转为ur

print p.split(s) #使用re库的split切割

稍复杂的分切

中文按字断开,英文按单词分开,数字按空格等特殊符号断开

import re

def get_word_list(s1):

# 把句子按字分开,中文按字分,英文按单词,数字按空格

regEx = re.compile('[\\W]*') # 我们可以使用正则表达式来切分句子,切分的规则是除单词,数字外的任意字符串

res = re.compile(r"([\u4e00-\u9fa5])") # [\u4e00-\u9fa5]中文范围

p1 = regEx.split(s1.lower())

str1_list = []

for str in p1:

if res.split(str) == None:

str1_list.append(str)

else:

ret = res.split(str)

for ch in ret:

str1_list.append(ch)

list_word1 = [w for w in str1_list if len(w.strip()) > 0] # 去掉为空的字符

return list_word1

python分割字符串中文_python 分割中文英文混合字符串的正确方法相关推荐

  1. c++截取汉字和英文混合字符串

    c++截取汉字和英文混合字符串 在C++里截取字符串可以使用string.substr(),可是这个函数只能按英文来截取, 如果是汉字可能就要计算好字符个数,如果是汉字和英文混合,那就只能望洋兴叹了. ...

  2. python 字符串分割和拼接_python分割和拼接字符串

    关于string的split 和 join 方法 对导入os模块进行os.path.splie()/os.path.join() 貌似是处理机制不一样,但是功能上一样. 1.string.split( ...

  3. 为什么python注释不能中文_python注释中文

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 4.python代码注释最后更新于:2019-10-05 14:25:41在 p ...

  4. python输出汉字怎么注释中文_Python使用中文注释和输出中文(原创)

    标签: 刚开始学习python,需要在Python中注释中文和输出中文,现在开始尝试: 仅为初步学习参考,高手请绕行. ---------------------------------------- ...

  5. python读取配置文件 分段_python分割文件的常用方法

    本文大家整理了一些比较好用的关于python分割文件的方法,方法非常的简单实用.分享给大家供大家参考.具体如下: 例子1 指定分割文件大小 配置文件 config.ini: 复制代码 代码如下: [g ...

  6. python rfind函数用法_Python语法速查:字符串格式简单处理、子串查找与判断方法?...

    这是一篇python基础知识分享型文章,对学习python感兴趣的朋友们可以仔细看看 字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属 ...

  7. python练习题百度云_Python专项基础练习(字符串)练习题

    1. 字符串练习题 1.1.字符串内置方法练习 在交互式解释器中完成下列题目将字符串 "abcd" 转成大写 计算字符串 "cd" 在 字符串 "ab ...

  8. ubuntu 装机技巧 双系统引导修复boot-repair 换源 github安装 截图 文件夹中文名称改为英文 deb包的安装方法 更改时间

    ubuntu 装机技巧 文章目录 ubuntu 装机技巧 一.换源 +github上网 换源 github 上网 二.ubuntu win双系统引导修复boot-repair 三.ubuntu将主文件 ...

  9. python距离向量路由算法_python算法练习——动态规划与字符串的编辑距离

    动态规划与字符串的编辑距离 动态规划 动态规划(dynamic programming)是解决多阶段决策问题常用的最优化理论,该理论由美国数学家Bellman等人在1957年提出,用于研究多阶段决策过 ...

最新文章

  1. day2 字符编码、列表、元组、字符串操作、字典
  2. 为什么使用RLC表测量电感在不同的频率测量值不同呢?
  3. ROS Gazebo(二):概述
  4. Markdown批量发布到Github
  5. springboot + rabbitmq 整合示例
  6. Altium Designer 21 最全快捷键 分享 共1000多个|电子设计效率提高全靠它
  7. 数据结构链表之单向链表:Python3 实现单向链表——1
  8. 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解
  9. wordpress主题是php开发的吗,写给想学习wordpress主题开发的朋友们
  10. mysql mgr监控_说MGR - MGR的监控
  11. MySQL(MariaDB)的 SSL 加密复制
  12. VistaNet: Visual Aspect Attention Network for Multimodal Sentiment Analysis 论文笔记
  13. 记录一个找直线三等分点的方法及其证明
  14. 关于iphone5和iphone4兼容的尺寸问题
  15. Modern CMake 简介
  16. C语言atoi函数详解
  17. ClassLoader加载类时序图及Qzon修复流程图
  18. Kafka节点服役和退役
  19. 小鼠繁育流程、要点及注意事项
  20. 10个JS精简代码无形装逼集合,最为致命

热门文章

  1. python迭代器、生成器及装饰器
  2. esxi增加linux空间,ESXI4.1 linux虚拟机调整扩充磁盘大小
  3. netfilter/iptables详解
  4. 中国城市最新排名:一线、二线、三线
  5. oracle data recovery advisor,Oracle Data Recovery Advisor
  6. 面试者如何回应面试官问的「你有哪些要问我的?」
  7. 带计算机功能的私有云,不怕网盘关闭!老司机教你用PC搭建私人云网盘
  8. layui复选框怎么取值_layui如何获取checkbox复选框的值
  9. runtime 入门与简介
  10. 如何保证测试的完备性?