python字符串操作总结

简介:

python中有各种字符串操作,一开始python有个专门的string模块,要使用需先import string。后来从python2.0开始,string方法改用str.method()形式调用,就是直接在你的字符串变量后加方法就行了,无需import。但是为了保持向后兼容,python仍然保留了string模块,但是并不推荐用,你懂的。

但并非所有的字符串操作都用str.method()方法调用的,有些方法是python内置函数,比如计算字符串长度用len(str)而不是str.len()。还有re模块也有对字符串操作的一些方法,后面再讲。字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后, 都会返回一个新的字符串,原字串并没有变。当然,这也不是绝对的。下面总结一下常用方法。





注意s.capitalize()只是将第一个字母大写,不管你换行还是换句。要想每个首字母大写,可用string模块的capwords函数,如string.capwords('i have a dream')转换结果为‘I Have A Dream’。string模块字符串类型转换函数也比较常用:string.atoi(s[,base])/string.atol(s[,base])/string.atof(s[,base])将字符串s转换为int/long/float型。base默认为10,可选。数字转字符的话直接用str(num)就ok了。

接下来说一下python中的字符串编码问题,python内部表示的是unicode编码,因此在做编码转换时先将其他编码解码(decode)为unicode,再从unicode编码(encode)成另外一种编码。如果一个串本身就是unicode编码,解码的时候就会出错,所以解码前要用isinstance(str,unicode)进行判断。同样,对非unicode字符串解码也会出错。

例如,将gb2312码字符串转为utf-8,要先解码:str1=str.decode('gb2313'),然后再编码str2=str1.encode('utf-8')。注意:在转码的时候一定要弄清str是什么码!

代码中字符串的编码与文件编码一致。如s='编码',在utf-8编码文件中就是utf-8码,在gb2312编码文件中就是gb2312码。但若用s=u'编码',则s指定为unicode码。

要获取系统默认编码:

import sys
print sys.getdefaultencoding()  



相关文章
|
16天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
1月前
|
大数据 Python
使用Python查找字符串中包含的多个元素
本文介绍了Python中查找字符串子串的方法,从基础的`in`关键字到使用循环和条件判断处理多个子串,再到利用正则表达式`re模块`进行复杂模式匹配。文中通过实例展示了如何提取用户信息字符串中的用户名、邮箱和电话号码,并提出了优化策略,如预编译正则表达式和使用生成器处理大数据。
20 1
|
1月前
|
数据挖掘 开发者 Python
Python:字符串判断子串
Python:字符串判断子串
|
1月前
|
程序员 数据安全/隐私保护 Python
Python:翻转字符串
Python:翻转字符串
|
1月前
|
索引 Python
Python系列(14)—— 字符串运算符
Python系列(14)—— 字符串运算符
|
1月前
|
存储 自然语言处理 数据挖掘
Python:计算字符串中每个单词出现的次数
Python:计算字符串中每个单词出现的次数
|
7天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
44 0
|
8天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
16天前
|
Java 索引 Python
Python标准数据类型-字符串常用方法(下)
Python标准数据类型-字符串常用方法(下)
21 1
|
16天前
|
XML 编解码 数据格式
Python标准数据类型-String(字符串)
Python标准数据类型-String(字符串)
23 2