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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
pygame播放音乐的方法
May 19 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
详谈python中冒号与逗号的区别
Apr 18 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
3分钟学会一个Python小技巧
Nov 23 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
Python列表(List)知识点总结
Feb 18 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
python pygame实现五子棋小游戏
Oct 26 Python
在Python中获取操作系统的进程信息
Aug 27 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
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
form自动提交实例讲解
2017/07/10 PHP
php实现微信发红包功能
2018/07/13 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
div层的移动及性能优化
2010/11/16 Javascript
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python re模块findall()函数实例解析
2018/01/19 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
用python写测试数据文件过程解析
2019/09/25 Python
ajax是什么及其工作原理
2012/02/08 面试题
世博会口号
2014/06/20 职场文书
车辆年检委托书范本
2014/10/14 职场文书
出国签证在职证明范本
2014/11/24 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js
Python使用openpyxl模块处理Excel文件
2022/06/05 Python
Spring Boot实现文件上传下载
2022/08/14 Java/Android