python中字符串String及其常见操作指南(方法、函数)


Posted in Python onApril 06, 2022

注意:对字符串的所有操作,原始数据(即原字符串)不变 !(字符串是不可变类型)

对原字符串操作会返回一个操作后的数据, 可以使用变量去接受数据

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

下标与切片

str[下标],从左向右0→+,从右向左-1→

str[起始:结束:步长],范围包首不包尾

>>> str="0123456789"    #定义一个字符串,从0到9,共10个元素
>>> str[0]              #取出0号下标的元素
'0'
>>> str[10]             #尝试取出10号下标的元素
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    str[10]
IndexError: string index out of range
                        #报错,下标越界,不存在str[10]
>>> str[9]              #下标从左向右数,第一个为0号下标,第N个元素下标为N-1
'9'
>>> str[-1]             #下标从右向左数,第一个为-N号下标,倒数最后一个为-1
'9'
>>> str[-10]
'0'

常见方法

查找

 .find(str),str存在字符串中返回下标索引值,不存在返回-1

.rfind(str),str存在字符串中,查找顺序为从右向左,其它与find一样

.index(str),存在返回下标索引值,不存在报异常

.rindex(str),存在返回下标索引值,查找顺序为从右向左,其它与index一样

.count(str[,起始,结束]),查找指定字符串中该字符出现的总次数

>>> str='123aaabcdeeff'        #定义一个字符串用于测试字符串方法的使用
>>> str.find(0)                #尝试查询整数0是在于字符串中的下标
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    str.find(0)
TypeError: must be str, not int
                               #字符串操作,查询操作对象必须为字符串类型,所以元素应用‘'标识
>>> str.find('1')          #查询字符1在指定字符串中首次出现的下标
0                          #返回的下标为0
>>> str.find('a')          #查询字符a在指定字符串中首次出现的下标
3                          #返回的下标为3
>>> str.rfind('a')         #反向查询(即从末尾向前查询),字符a首次出现在字符串中的下标
5                          #返回的下标为5
>>> str.index('0')         #使用index查询时,字符不存在时,会报错
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    str.index('0')
ValueError: substring not found
>>> str.find('0')          #使用find查询时,不存在返回-1
-1
>>> str.rindex('a')        #使用rindex反向查询
5
>>> str.count('a')         #使用count查询指定字符出现的总共次数
3
>>> str.count('f')         
2
>>> str.count('a',0,3)     #使用count时,可以指定范围,第一个数字指定起始位置,                   
0                          #第二个数字指定 结束范围,查询范围包含起始位,不包含结束位
>>> str.count('a',1,5)
2
>>> str.find('abcde')      #操作对象为字符串,传入参数也是一个字符串,并不一定是一个字符
5                          #可以是字母数字以及中文

替换

.replace(str1,str2 [,n] ),将字符串中所有的str1替换为str2,n可指定最多替换的次数

>>> str='123aaabcdeeff'
>>> str.replace('a','s')            #不指定替换次数,将会全部替换
'123sssbcdeeff'
>>> str.replace('a','s',1)          #指定次数时,仅替换指定次数个,替换顺序为从前向后
'123saabcdeeff'
>>> str.replace('a','s',2)
'123ssabcdeeff'

分割

.split(str[,n]),以str为分隔符(分割后丢失),将字符串分割为多个字符串,n可指定最多的分割次数

.partition(str),已指定字符做为一个部分,分割两边,生成三部分的字符串

.splitlines(),按照行进行分割,返回一个包含各行作为元素的列表

>>> str='123123123'                #定义一个字符串,用于测试
>>> str.split('2')                 #使用split进行分割
['1', '31', '31', '3']             #分割后指定的分割符消失,生成多个字符串的列表
>>> str.partition('2')             #使用partition进行分割
('1', '2', '3123123')              #仅进行一次分割,分割后制定的分割符单独成为一部分
>>> str='abc\nabc\nabc\nabc'       #定义一个包含行符的字符串
>>> print(str)                     #打印输出测试
abc
abc
abc
abc
>>> str.splitlines()               #使用splitlines进行分割,生成一个列表,每一行数据为一个元素
['abc', 'abc', 'abc', 'abc']

大小写格式化

.capitalize(),将字符串第一个首字母大写(其它都小写)

.title(),将字符串中所有单词首字母大写(其它都小写)

.lower()转换所有大写字符为小写

.upper()转换所有小写字符为大写

>>> str="abcABC defDEF hijHIJ klMN"      #定义一个包含大小写的字符串用于测试
>>> str.capitalize()                     #将字符串首字母进行大写
'Abcabc defdef hijhij klmn'
>>> str.title()                          #将所有单词首字母进行大写
'Abcabc Defdef Hijhij Klmn'
>>> str.lower()                          #将字符串中所有字母小写
'abcabc defdef hijhij klmn'
>>> str.upper()                          #将字符串中所有字母大写
'ABCABC DEFDEF HIJHIJ KLMN'
>>>

对齐格式化

 .ljust(width)返回一个原字符串左对齐,并默认使用空格补充至长度为width的字符串

.rjust(width)返回一个原字符串右对齐,并默认使用空格补充至...........

.center(width) 返回一个原字符居中,并使用空格补充至width长度的新字符串

#默认使用空格补充长度,显示不够明显,所以为了突出效果,指定使用了*补充
str1='   abcde  '           
print(str1.ljust(20,'*'))   #左对齐,指定长度为20
str2='   abcde   '
print(str2.rjust(20,'*'))   #右对齐,指定长度为20
str3='   abcde   '
print(str3.center(20,'*'))  #居中对齐,指定长度为20
 
#执行结果
#   abcde  **********
# *********   abcde   
# ****   abcde   *****

清除空白字符

.lstrip(),删除左侧的空白字符

.rstrip(),删除末尾的空白字符

.strip(),删除两端的空白字符

>>> str='   abc   '
>>> str.lstrip()        #删除左侧空格
'abc   '
>>> str.rstrip()        #删除右侧空格
'   abc'
>>> str.strip()         #删除两侧空格
'abc'
>>>

检查

.startswith(str),检查字符串是否以指定字符开头,是则返回Turn,否则返回False

.endswith(str),检查字符串是否以指定字符结尾,是则返回Turn,否则为False

.isalpha(),检查字符串是否都是字母,是返回Turn,否则返回False

.isdigit(),检查字符串是否只包含数字,是返回Turn,否则返回False

.isalnum(),检查字符串是否都是字母或数字,是返回Turn,否则返回False

.isspace(),检查字符串是否只包含空格,是返回Turn,否则返回False

>>> str0='0123abcd'
>>> str1='12345'
>>> str2='abcdef'
>>> str3='    '
>>> str0.startswith('0')    #检查是否包含指定字符串,是则返回True
True
>>> str0.startswith('6')    #不包含则返回Flace
False
>>> str0.endswith('0')      #检查是否以指定字符串结束,不是返回Flace
False
>>> str0.endswith('d')      #是则返回True
True
>>> str1.isalnum()          #检测指定字符串是否全是字母和数字组成
True
>>> str2.isalpha()          #检测指定字符串是否全为字母
True
>>> str0.isdigit()          #检测指定字符串是否全是数字
False
>>> str3.isspace()          #检测指定字符串是否全为空格
True
>>>

补充:16个常用函数

方法 描述
str.len() 返回str字符串的长度
str.lower() 返回字符串str的副本,全部字符小写
str.upper() 返回字符串str的副本,全部字符大写
str.islower() 当str全部字符都是小写时,返回True,否则返回False
str.isupper() 当str全部字符都是大写时,返回True,否则返回False
str.isprintable() 当str全部的字符都是可打印时,返回 True,否则返回False
str.isalnum() 当str只由字母或数字组成时,返回True,否则返回False
str.isalpha() 当str的所有字符都是字母组时,返回True,否则返回False
str.isascii() 当str的所有字符均在ascii码内,返回True, 否则返回False
str.isdecimal() 当str的所有字符均是Unicode数字全角数字时,返回True,否则返回False
str.isdigit() 当str的所有字符都是Unicode数字byte数字全角数字罗马数字时,返回True,否则返回False
str.isnumeric() 当str的所有字符都是Unicode数字全角数字罗马数字汉字数字时,返回True, 否则返回False
str.isidentifier() 如果str是有效的Python标识符返回True,否则返回False
str.isspace() 当str所有字符都是空格时,返回True, 否则返回False
str.format() 返回字符串str的一种排版格式
str.count(sub [, start [, end]]) 返回str[start: end]中sub子串出现的次数

总结

到此这篇关于python中字符串String及其常见操作指南(方法、函数)的文章就介绍到这了,更多相关python字符串String常见操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 Python
python实现用户管理系统
Jan 10 Python
Python实现XML文件解析的示例代码
Feb 05 Python
python cs架构实现简单文件传输
Mar 20 Python
Python中修改字符串的四种方法
Nov 02 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
基于python判断目录或者文件代码实例
Nov 29 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
浅谈Python协程
Jun 17 Python
python字符串的一些常见实用操作
Apr 06 Python
Python Numpy库的超详细教程
进行数据处理的6个 Python 代码块分享
Apr 06 #Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 #Python
Python利用capstone实现反汇编
关于Python中进度条的六个实用技巧分享
如何在Python中妥善使用进度条详解
Apr 05 #Python
Python接口自动化之文件上传/下载接口详解
Apr 05 #Python
You might like
PHP中的extract的作用分析
2008/04/09 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
vue仿element实现分页器效果
2018/09/13 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
CentOS7安装Python3的教程详解
2019/04/10 Python
python如何实现数据的线性拟合
2019/07/19 Python
python爬虫增加访问量的方法
2019/08/22 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
为什么要用EJB
2014/04/17 面试题
电大自我鉴定
2013/10/27 职场文书
会计电算化专业毕业生推荐信
2013/12/24 职场文书
工作决心书范文
2014/03/11 职场文书
老师对学生的寄语
2014/04/09 职场文书
合作经营协议书
2014/04/17 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
青年联谊会致辞
2015/07/31 职场文书
企业法人任命书
2015/09/21 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
MySQL 服务和数据库管理
2021/11/11 MySQL