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进程通信之匿名管道实例讲解
Apr 11 Python
Python计算两个日期相差天数的方法示例
May 23 Python
python正则表达式的使用
Jun 12 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
Python sep参数使用方法详解
Feb 12 Python
python和php哪个更适合写爬虫
Jun 22 Python
4款Python 类型检查工具,你选择哪个呢?
Oct 30 Python
Python图像读写方法对比
Nov 16 Python
matplotlib相关系统目录获取方式小结
Feb 03 Python
基于Python绘制子图及子图刻度的变换等的问题
May 23 Python
浅谈Python数学建模之固定费用问题
Jun 23 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
python算法学习之计数排序实例
2013/12/18 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
财务管理专业推荐信
2013/11/19 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
学校花圃的标语
2014/06/18 职场文书
大连星海广场导游词
2015/02/10 职场文书
技术员岗位职责范本
2015/04/11 职场文书