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. (4)事件处理——(1)事件处理(Handling Events)

    JavaScript has several built-in ways of reacting to user interaction and other events. To make a pag ...

  2. linux杂记(⑨)vi使用说明

    基本上vi共分为三种模式,分别是[一般模式]].[编辑模式]与[指令列命令模式].这三种模式的作用是: 一般模式:以vi处理一个档案的时候,一进来该档案就是一般模式.在这个模式中,你可以使用[上下左右 ...

  3. ThinPHP第二十七天(kindEditor使用,$.each)

    1.KindEditor简单使用实例 <js file="__PUBLIC__/kindeditor/kindeditor.js" /> <js file=&qu ...

  4. POSIX扩展正则表达式函数

    1.ereg()函数和eregi()函数 函数语法: bool ereg/eregi ( string pattern, string string [, array regs] ) 函数功能: 在字 ...

  5. Windows 取得至高无上的权限

    第一步:gpedit.msc 第二步:计算机配置-->windows 设置 -->安全设置 -->安全选项 -->用户账户控制 -->以管理员批准模式运行所有管理员 -- ...

  6. 浅谈qt 布局器

    在一个颜值当道的今天,无论买衣服,买车还是追星,颜值的高低已经变成了大家最看重的(不管男性女性都一样,千万别和我说你不是):而对于程序猿来说,开发一款软件,不再只注重逻辑和稳定性,美观和用户友好性也是 ...

  7. Speex manul中文版

    Speex manul中文版   在VOIP的音频算法中,回音处理已经成为一个关系通话质量的主要问题. 回声的产生在IP网络主要有两种:1.声学回声2.电路回声 声学回声主要又分成以下几种:a ) 直 ...

  8. openStack juno for ubuntu12-04

    <一,preinstall basic conf,pre Env> 1,pwgen(openssl rand -hex 10) some Open-Stack services add a ...

  9. 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误

    本地没有安装oracle.安装了oracleclient和PL/SQL Developer.来实现对oracle数据库的可视化操作. 在使用在登录PL/SQL无法登录.提示错误:ORA-01017: ...

  10. Android设置Activity背景为透明style

    方法一: 通过Theme.Translucent @android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBa ...