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()
python字符串操作总结的更多相关文章
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- Python 字符串操作及string模块使用
python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...
- 『无为则无心』Python序列 — 17、Python字符串操作常用API
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...
- python 字符串操作。。
#字符串操作 以0开始,有负下标的使用0第一个元素,-1最后一个元素,-len第一个元 素,len-1最后一个元素 name= "qwe , erw, qwe "print(nam ...
- Python 字符串操作,截取,长度
1.字符串操作: 字符串长度: s = "; slen = len(s); 字符串截取: print s[:-:-] #截取,逆序隔1个取一个字符 print s[:-:-] #截取,逆序隔 ...
- python字符串操作、文件操作,英文词频统计预处理
1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证号:生日.性别.出生地等 def function3(): print('请输入身份证号') ...
- python字符串操作2
在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专 门的string的module,要使用string的方 ...
随机推荐
- Lc.exe已退出 代码为-1问题解决方法
对于用vs作为开发工具的同学来说,可能常常会碰到“Lc.exe已退出 代码为-1”的问题,造成这个结果的一般是因为加入了第三方的插件程序造成的,今天一一讲解如何解决. 工具/原料 vs各版本开发工具 ...
- VS2013无法链接到TFS (转)
VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002 TF31002: Unable to connect to VisualStudio ...
- 使用VisualStudio发布ASP.NET网站
1.右击网站点击“发布网站” 2.选择或导入发布配置文件.→新建配置文件. 3.输入名称test.→点击确定. 4.发布方法选择文件系统. 5.选择目标位置.→点击下一步 6.文件发布选项选择三个选项 ...
- websocket 通信协议
//WEBSOKET java SERVICE http://my.oschina.net/u/590484/blog/71797 UPDATE:前些天有网友mail和我讨论websocket协议,当 ...
- JSP打印九九乘法表
##index.jsp: <%@ page language="java" import="java.util.*" pageEncoding=" ...
- 《windows程序设计》学习_2.1:初识消息
#include <windows.h> //#define WM_MYMSG (WM_USER +100) LRESULT CALLBACK WndProc(HWND,UINT,WPAR ...
- DrawerLayout、CoordinatorLayout、CollapsingToolbarLayout的使用--AndroidSupportDesign练手
先po一张效果图 PS:原谅题主的懒惰吧.. 看着是不是很酷炫,那是因为5.0的动画做得好,代码其实没有多少,搞清楚这个布局的层次关系很重要. 废话不多说了,先来看布局文件 最外层是一个DrawerL ...
- tpopela/vips_java
tpopela/vips_java Implementation of Vision Based Page Segmentation algorithm in Java
- Please ensure that adb is correctly located at '...adb.exe' and can be executed.
Android Launch! The connection to adb is down, and a severe error has occured. You must restart adb ...
- Summer Holiday(强联通入度最小点)
Summer Holiday Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...