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()

python字符串操作总结的更多相关文章

  1. Python 字符串操作

    Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...

  2. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  3. 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...

  4. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  5. 『无为则无心』Python序列 — 17、Python字符串操作常用API

    目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...

  6. python 字符串操作。。

    #字符串操作 以0开始,有负下标的使用0第一个元素,-1最后一个元素,-len第一个元 素,len-1最后一个元素 name= "qwe , erw, qwe "print(nam ...

  7. Python 字符串操作,截取,长度

    1.字符串操作: 字符串长度: s = "; slen = len(s); 字符串截取: print s[:-:-] #截取,逆序隔1个取一个字符 print s[:-:-] #截取,逆序隔 ...

  8. python字符串操作、文件操作,英文词频统计预处理

    1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证号:生日.性别.出生地等 def function3(): print('请输入身份证号') ...

  9. python字符串操作2

    在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专 门的string的module,要使用string的方 ...

随机推荐

  1. 根据用户的ID查用户的名字

    awk -F: '{if($3==0){print $1}}'  /etc/passwd

  2. PHP图片裁剪函数(图像不变形)

    PHP图片裁剪函数(图像不变形) <? *exif_imagetype -- 判断一个图像的类型 *说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形 * 参数说明:输入 需要处理图片的 ...

  3. SnappyDB—Android上的NoSQL数据库简介

    参考:http://www.open-open.com/lib/view/open1420816891937.html 参考:http://android-arsenal.com/details/1/ ...

  4. TJU 2944 Mussy Paper 最大权闭合子图

    传送门 给你一些东西,  每个东西有一个值,有正有负. 在给一些关系, 选了其中一个物品, 和他有关系的也必须全都选上, 关系是单向的. 问最后的最大价值是多少, 如果小于0输出“   **** ”( ...

  5. 四轴飞行器1.7 NRF24L01P无线通讯和改进型环形缓冲

    原创文章,欢迎转载,转载请注明出处 这次花了10多天了才再次写blog,一是中秋优点小活动,二是这次完成了不少东西.. 终于接近完成了,这次完成了NRF的通讯,并且用了改进的环形缓冲和简单的通讯协议规 ...

  6. Python2.7.3 学习——准备开发环境

    安装环境搭建参考:http://blog.163.com/sunshine_linting/blog/static/4489332320129187464222/ 第一种方式,通过命令行方式安装Pyt ...

  7. NET Core MVC 在linux上的创建及发布

    NET Core MVC 在linux上的创建及发布 前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们 ...

  8. iso-开发基础知识-5-适配器

    个人学习总结仅供参考:欢迎拍砖 1.适配器:用于连接两种不同种类的对象. 2.分为2种:类适配,对象适配. 3.委托(Delegate)模式属于对象适配器: 4.何时使用适配器模式 书中的这幅图更好的 ...

  9. To the Max(矩阵压缩)

    To the Max Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Total Su ...

  10. java concurrent之前戏synchronized

    对于多线程共享资源的情况须要进行同步,以避免一个线程的修改被还有一个线程的修改所覆盖. 最普遍的同步方式就是synchronized. 把代码声明为synchronized.有两个重要后果,一般是指该 ...