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的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
PyCharm配置mongo插件的方法
Nov 30 Python
python实现维吉尼亚加密法
Mar 20 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
详解Python time库的使用
Oct 10 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 Python
利用python生成照片墙的示例代码
Apr 09 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
js window.onload 加载多个函数的方法
2009/11/02 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
Python中的ceil()方法使用教程
2015/05/14 Python
Python下载指定页面上图片的方法
2016/05/12 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Python实现的计算器功能示例
2018/04/26 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
详解python中的hashlib模块的使用
2019/04/22 Python
python线程的几种创建方式详解
2019/08/29 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python使用Geany编辑器配置方法
2020/02/21 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
三严三实对照检查材料
2014/08/25 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
社团个人总结范文
2015/03/05 职场文书