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动态性强类型用法实例
May 09 Python
python中input()与raw_input()的区别分析
Feb 27 Python
python爬取淘宝商品详情页数据
Feb 23 Python
Python中的函数式编程:不可变的数据结构
Oct 08 Python
python实现简单多人聊天室
Dec 11 Python
Python3 执行Linux Bash命令的方法
Jul 12 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python django中8000端口被占用的解决
Dec 17 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
Python调用C语言程序方法解析
Jul 07 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
python Xpath语法的使用
Nov 26 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中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python 的描述符 descriptor详解
2016/02/27 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python使用opencv读取图片的实例
2017/08/17 Python
python3 发送任意文件邮件的实例
2018/01/23 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
Python wordcloud库安装方法总结
2020/12/31 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
演讲比赛获奖感言
2014/02/02 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
红头文件任命书范本
2014/06/05 职场文书
委托书格式范文
2015/01/28 职场文书
户外亲子活动总结
2015/05/08 职场文书
大学生就业意向书
2015/05/11 职场文书
走进毛泽东观后感
2015/06/04 职场文书
五年级语文教学反思
2016/03/03 职场文书