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写入xml文件的方法
May 08 Python
python轻松查到删除自己的微信好友
Jan 10 Python
Python过滤列表用法实例分析
Apr 29 Python
Python处理菜单消息操作示例【基于win32ui模块】
May 09 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
浅谈python 中类属性共享的问题
Jul 02 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
Python 面向对象部分知识点小结
Mar 09 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
python代码能做成软件吗
Jul 24 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
python运行时间的几种方法
2016/06/17 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
Python封装原理与实现方法详解
2018/08/28 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
物业招聘计划书
2014/01/10 职场文书
仓库管理制度
2014/01/21 职场文书
毕业晚会主持词
2014/03/24 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
锦旗标语大全
2014/06/23 职场文书
应届大学生求职信
2014/07/20 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
社区党务工作总结2015
2015/05/19 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python