python字符串的常用操作方法小结


Posted in Python onMay 21, 2016

本文实例为大家分享了python字符串的操作方法,供大家参考,具体内容如下

1.去除空格
str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格

>>> a=' hello '
>>> b=a.strip()
>>> print(b)
hello

str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格

>>> a=' hello '
>>> b=a.lstrip()
>>> print(b)
 hello #右边空格可能看的不是很明显

str.rstrip():删除字符串右边指定字符,默认为空格

>>> a=' hello '
>>> b=a.rstrip()
>>> print(b)
 hello

2.复制字符串

>>> a='hello world'
>>> b=a
>>> print(a,b)
hello world hello world

3.连接字符串

+:连接2个字符串
>>> a='hello '
>>> b='world'
>>> print(a+b)
hello world
注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连 那么会开辟n-1次内存,是非常耗费资源的。
 
str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)
>>> a='hello '
>>> b='####'
>>> a.join(b)
'#hello #hello #hello #'

4.查找字符串

#str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
str.index:检测字符串中是否包含子字符串str,可指定范围
 a='hello world'
>>> a.index('l')
2
>>> a.index('x')
Traceback (most recent call last):
 File "<pyshell#40>", line 1, in <module>
 a.index('x')
ValueError: substring not found
str.find:检测字符串中是否包含子字符串str,可指定范围

>>> a='hello world'
>>> a.find('l')
2
>>> a.find('x')
-1

5.比较字符串

str.cmp:比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数。
#python3已经没有该方法,官方文档是这么写的:
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)

>>> a=100
>>> b=80
>>> cmp(a,b)
1

6.是否包含指定字符串

in |not in 
>>> a='hello world'
>>> 'hello' in a
True
>>> '123' not in a
True

7.字符串长度

str.len
>>> a='hello world'
>>> print(len(a))
11

8.字符串中字母大小写转换

S.lower() #转换为小写 
>>> a='Hello World'
>>> print(a.lower())
hello world

S.upper() #转换为大写 
>>> a='Hello World'
>>> print(a.upper())
HELLO WORLD


S.swapcase() #大小写互换 
>>> a='Hello World'
>>> print(a.swapcase())
hELLO wORLD

S.capitalize() #首字母大写 
>>> a='Hello World'
>>> print(a.capitalize())
Hello world

9.将字符串放入中心位置可指定长度以及位置两边字符

str.center()
>>> a='hello world'
>>> print(a.center(40,'*'))
**************hello world***************

10.字符串统计

>>> a='hello world'
>>> print(a.count('l'))
3

11.字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值

S.startswith(prefix[,start[,end]]) #是否以prefix开头 
S.endswith(suffix[,start[,end]]) #以suffix结尾 
S.isalnum()    #是否全是字母和数字,并至少有一个字符 
S.isalpha()    #是否全是字母,并至少有一个字符 
S.isdigit()    #是否全是数字,并至少有一个字符 
S.isspace()    #是否全是空白字符,并至少有一个字符 
S.islower()    #S中的字母是否全是小写 
S.isupper()    #S中的字母是否便是大写 
S.istitle()    #S是否是首字母大写的

12.字符串切片

str = '0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,截取倒数第五位数与倒数第三位数之间

这里需要强调的是,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。

以上就是本文的全部内容,希望对大家学习python程序设计有所帮助。

Python 相关文章推荐
python读写二进制文件的方法
May 09 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
python爬虫_微信公众号推送信息爬取的实例
Oct 23 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
python 实现矩阵填充0的例子
Nov 29 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
python中有帮助函数吗
Jun 19 Python
Python读取yaml文件的详细教程
Jul 21 Python
用python发送微信消息
Dec 21 Python
python基于opencv 实现图像时钟
Jan 04 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
python实现用户登录系统
May 21 #Python
python列表的常用操作方法小结
May 21 #Python
bat和python批量重命名文件的实现代码
May 19 #Python
批处理与python代码混合编程的方法
May 19 #Python
python实现汉诺塔递归算法经典案例
Mar 01 #Python
python中list列表的高级函数
May 17 #Python
python模拟Django框架实例
May 17 #Python
You might like
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
python 图片验证码代码
2008/12/07 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python自动zip压缩目录的方法
2015/06/28 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
总结python中pass的作用
2019/02/27 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
用python做游戏的细节详解
2019/06/25 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
pyspark 随机森林的实现
2020/04/24 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
环保标语大全
2014/06/12 职场文书
生物工程专业求职信
2014/09/03 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
高一军训决心书
2015/02/05 职场文书