python处理中文字符串(Python3.5如何对中文字符串进行处理)

1.Python 3.5 如何对中文字符串进行处理

在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

在[]中

-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]

-元字符在在字符集中不起作用

-在[]内用^表示补集,用来匹配不在区间范围内的字符

s=r'aba' 匹配abc

s=r't[io]p' 匹配tip或者top

s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z

[abc]表示“a”或“b”或“c”

[0-9]表示0~9中任意一个数字,等价于[0123456789]

[\u4e00-\u9fa5]表示任意一个汉字

[^a1

2.请问python怎么可以很好的处理中文字符

# -*- coding: utf8 -*-a={'一':'二'}print a['一']print a.values()print a.__getattribute__print('\n。

\n')b={'1':'2'}print b['1']print b.values()------------------------------------输出--------------------->>> ================================ RESTART ================================>>> 二['\xe4\xba\x8c']

2['2']可以看到a.values出现了中文显示不正常这个有好的解决办法么?。

3.如何解决Python中文问题

python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:

1. print打印中文的问题:

在编辑器中输入一段测试代码:

s='测试'

print s

运行结果如下:

Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0

原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:

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

s='测试'

print s

运行后可以正确打印中文。

2.中文路径的问题。

在D盘下保存一个名字为‘中文.txt'的文件。运行如下测试代码:

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

f=open('D:\\中文.txt', 'r')

print f.read()

运行结果如下:

IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'

字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了:

复制代码

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

path='D:\\中文.txt'

spath=unicode(path , "utf8")

f=open(spath,'r')

print f.read()

复制代码

然后就可以正确显示文件内容

总结:

所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。

为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。

4.Python如何将Unicode中文字符串转换成 string字符串

Unicode字符串可以用多种方式编码为普通字符串,假设unicodestring = u"Hello world",依照所选择的编码(encoding),如下:

1、#将Unicode转换成普通的Python字符串:"编码(encode)"。

2、#将普通的Python字符串转换成Unicode: "解码(decode)"。

扩展资料:

Python转换字符和字符串的原因:为了处理不适合用ASCII字符集表示的数据。

在以ASCII码为中心的语言和环境中,字节和字符被当做相同的事物。由于一个字节只能有256个值,这些环境就受限为只支持256个字符Unicode码,另一方面,有数万个字符,那意谓着每个Unicode字符占用多个字节,因此,你需要在字符和字节之间作出区别。

(1)UTF-8编码能处理任何的Unicode字符。它也是与ASCII码向后兼容的,因此一个纯粹的ASCII码文件也能被考虑为一个UTF-8文件,而且一个碰巧只使用ASCII码字符的 UTF-8文件和拥有同样字符的ASCII码文件是相同的。

这个特性使得UTF-8的向后兼容性非常好,尤其使用较旧的Unix工具时。UTF-8 无疑地是在 Unix上的占优势的编码。它主要的弱点是对东方文字是非常低效的。

(2)UTF-16编码在微软的操作系统和Java环境下受到偏爱。它对西方语言是比较低效,但对于东方语言是更有效率的。一个UTF-16 的变体有时叫作UCS-2 。

(3)ISO-8859编码系列是256个字符的ASCII码的超集。他们不能够支援所有的Unicode码字符;他们只能支援一些特别的语言或语言家族。

ISO-8859-1,也既Latin-1,包括大多数的西欧和非洲语言,但是不含阿拉伯语。ISO-8859-2,也既Latin-2,包括许多东欧的语言,像是匈牙利语和波兰语。

参考资料:

百度百科--Unicode

5.请教python匹配中文字符的方法

在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。

在[]中

-长用来指定一个字符集,在这个字符集中的一个可以拿来匹配:[abc] [a-z]

-元字符在在字符集中不起作用

-在[]内用^表示补集,用来匹配不在区间范围内的字符

s=r'aba' 匹配abc

s=r't[io]p' 匹配tip或者top

s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z

[abc]表示“a”或“b”或“c”

[0-9]表示0~9中任意一个数字,等价于[0123456789]

[\u4e00-\u9fa5]表示任意一个汉字

[^a1[^a-z]表示除小写字母外的任意一个字符

python处理中文字符串

转载请注明出处编程代码网 » python处理中文字符串(Python3.5如何对中文字符串进行处理)

资讯

python能干什么知乎(java工程师一般用python做什么知乎)

阅读(52)

本文主要为您介绍python能干什么知乎,内容包括python可以做什么知乎,python可以做什么知乎,java工程师一般用python做什么知乎。#做网站后台Python在网站后台这边有大量的成熟的框架,如django,flask,bottle,tornado,我曾经用过flask

资讯

python3md5解密(如何使用Python3的两个库来加解密字符串)

阅读(48)

本文主要为您介绍python3md5解密,内容包括如何使用Python3的两个库来加解密字符串,python,求一个获取文件md5的算法,python,如何对文件内容进行md5处理。哈希如果需要用到安全哈希算法或是消息摘要算法,那么你可以使用标准库中的 hashlib 模

资讯

python一致性hash(一致性hash虚拟节点怎么理解)

阅读(49)

本文主要为您介绍python一致性hash,内容包括一致性hash和hash的区别,一致性hash虚拟节点怎么理解,什么叫memcache一致性hash。一致性哈希基本解决了在P2P环境中最为关键的问题如何在动态的网络拓扑中分布存储和路由。每个节点仅需维护少量

资讯

python列表元素排序(Python中,如何给列表排序)

阅读(18)

本文主要为您介绍python列表元素排序,内容包括Python怎么对列表中元素排序,python对列表里的元素进行排序,python对列表里的元素进行排序。Python中给列表排序的方式有很多,可以自己实现知,也可以用Python提供的方法使用Python提供的方法:列表

资讯

Python打包exe(怎么将多个python打包成exe文件)

阅读(17)

本文主要为您介绍Python打包exe,内容包括怎么将多个python打包成exe文件,如何把python打包成exe,如何把python文件打包成exe。安装pywin32,可以参考《怎么给python安装pywin32模块?》,一定要注意对应的python版本,否则不能安装。

资讯

python两个列表交集(python怎么求两个列表的交集)

阅读(18)

本文主要为您介绍python两个列表交集,内容包括python怎么求两个列表的交集,python如何求嵌套列表的交集,python有没有两个列表取并集。方法1遍历b1,如果某个元素同时也存在于b2中,则返回复制代码代码如下:b1=[1,2,3]b2=[2,3,4]b3 = [val fo

资讯

pythonmain返回值类型(python怎么写main函数)

阅读(14)

本文主要为您介绍pythonmain返回值类型,内容包括python怎么写main函数,main返回值,python中,怎么让类返回值啊。print main当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。main函数

资讯

python运行指定文件(如何用Python打开指定的某个文件夹)

阅读(50)

本文主要为您介绍python运行指定文件,内容包括如何用Python打开指定的某个文件夹比如我要用Python打开D盘里,python中,如何用指定的程序打开指定的文件,比如在windows下,用,怎么在Python进入指定文件夹。操作系统一般不允许程序直接操作磁

资讯

Python类虚函数(类中snip是什么python)

阅读(50)

本文主要为您介绍Python类虚函数,内容包括python怎样调用基类函数,python中的析构函数多继承时为什么只析构自己,对于父类不会被析构,python类中类方法和类实例有什么区别。snip 的英文原意是削减,剪去的意思。在Python 中,snip 就是代表省略

资讯

python元组排序(Python3,怎么按指定元组顺序将列表排序)

阅读(21)

本文主要为您介绍python元组排序,内容包括Python3,怎么按指定元组顺序将列表排序,python元组中有字典,如何对其进行排序谢谢,如何在python中对tuple排序。在Python中可以使用sorted函数对list进行排序,但是如果排序的对象是一个包含tuple的l

资讯

python构造字典(python字典中如何创建字典)

阅读(23)

本文主要为您介绍python构造字典,内容包括python字典中如何创建字典,Python中的字典是什么,Python中创建字典的几种方法总结。python---创建字典的方式用{}创建字典代码:x = {"a":"1", "b":"2"}print x输出:{a: 1, b:

资讯

python能干什么知乎(java工程师一般用python做什么知乎)

阅读(52)

本文主要为您介绍python能干什么知乎,内容包括python可以做什么知乎,python可以做什么知乎,java工程师一般用python做什么知乎。#做网站后台Python在网站后台这边有大量的成熟的框架,如django,flask,bottle,tornado,我曾经用过flask

资讯

python3md5解密(如何使用Python3的两个库来加解密字符串)

阅读(48)

本文主要为您介绍python3md5解密,内容包括如何使用Python3的两个库来加解密字符串,python,求一个获取文件md5的算法,python,如何对文件内容进行md5处理。哈希如果需要用到安全哈希算法或是消息摘要算法,那么你可以使用标准库中的 hashlib 模

资讯

python一致性hash(一致性hash虚拟节点怎么理解)

阅读(49)

本文主要为您介绍python一致性hash,内容包括一致性hash和hash的区别,一致性hash虚拟节点怎么理解,什么叫memcache一致性hash。一致性哈希基本解决了在P2P环境中最为关键的问题如何在动态的网络拓扑中分布存储和路由。每个节点仅需维护少量

资讯

python列表元素排序(Python中,如何给列表排序)

阅读(18)

本文主要为您介绍python列表元素排序,内容包括Python怎么对列表中元素排序,python对列表里的元素进行排序,python对列表里的元素进行排序。Python中给列表排序的方式有很多,可以自己实现知,也可以用Python提供的方法使用Python提供的方法:列表

资讯

Python打包exe(怎么将多个python打包成exe文件)

阅读(17)

本文主要为您介绍Python打包exe,内容包括怎么将多个python打包成exe文件,如何把python打包成exe,如何把python文件打包成exe。安装pywin32,可以参考《怎么给python安装pywin32模块?》,一定要注意对应的python版本,否则不能安装。

资讯

python两个列表交集(python怎么求两个列表的交集)

阅读(18)

本文主要为您介绍python两个列表交集,内容包括python怎么求两个列表的交集,python如何求嵌套列表的交集,python有没有两个列表取并集。方法1遍历b1,如果某个元素同时也存在于b2中,则返回复制代码代码如下:b1=[1,2,3]b2=[2,3,4]b3 = [val fo

资讯

pythonmain返回值类型(python怎么写main函数)

阅读(14)

本文主要为您介绍pythonmain返回值类型,内容包括python怎么写main函数,main返回值,python中,怎么让类返回值啊。print main当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。main函数

资讯

python返回list最大值(python中list的大小最大是多少)

阅读(15)

本文主要为您介绍python返回list最大值,内容包括python中list的大小最大是多少,pythonlist返回表里数据最小值位置,python中list的大小最大是多少。一般应用场景都不用考虑这个大小,因为这个上限很高,需要用到这么多元素的list的时候,都需要考