python字符串常用三大类

 字符串的常用方法有查找、修改和判断三大类。

查找

所谓字符串查找方法即是查找子串在字符串中的位置或出现的次数

find()

检测某个子串是否包含在这个字符串中,如果在返回在这个子串开始额位置下标,否则返回-1

语法:字符串序列.find(子串,开始位置下标,结束位置下标)

注意:开始和结束位置下标可以省略,表示整个字符串序列中查找 

index()

检查某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则会报异常

语法:字符串序列.index(子串,开始位置下标,结束位置下标)

注意:开始和结束位置下标可以省略,表示整个字符串序列中查找  

count()

返回某个子串在字符串中出现的次数

语法:字符串序列.count(子串,开始位置下标,结束位置下标)

注意:开始和结束位置下标可以省略,表示整个字符串序列中查找   

mystr = "hello world and C# and PYTHON and JAVA"
#空格也算编号
 
#find()
print(mystr.find('and'))           #12 返回的and开始的位置
print(mystr.find('and',15,30))     #23
print(mystr.find('ands'))          #-1 子串不存在


#index()
print(mystr.index('and'))          #12         
print(mystr.index('and',15,30))    #23
print(mystr.index('ands'))         #如果index查找子串不存在会报错


#count()用于统计字符串里某个字符或子字符串出现的次数
print(mystr.count('and'))          #3        
print(mystr.count('and',15,30))    #1
print(mystr.count('ands'))         #0 

rfind()和find()功能相同,但查找方向为右侧开始

rfind()和index()功能相同,但查找方向为右侧开始

修改 

所谓修改字符串,指的就是通过函数的形式修改字符串中的数据。

replace()

替换

语法:字符串序列.replace(旧子串,新子串,替换次数)

注意:替换次数如果查出子串出现次数,则替换次数为该子串出现次数 

mystr = "hello world and Java and c and python"
print(mystr.replace('and','he'))
#结果 hello world he Java he c he python
print(mystr.replace('and','he',10))
#结果 hello world he Java he c he python
print(mystr)
#结果 hello world and Java and c and python

 数据按照是否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型是不可变类型

split()

按照指定字符分割字符串

语法:字符串序列.split(分割字符.num)

注意:num表示的是分割字符出现的次数,即将来返回数据个数为num+1个。

mystr = "hello world and Java and c and python"
print(mystr.split('and'))
#结果['hello world ', 'Java' ,' c ', 'python']
print(mystr.split('and',2))
#结果['hello world ', 'Java' ,' c and python']
print(mystr.split(' '))
#结果['hello','world ','and', 'Java','and' ,' c','and','python']
print(mystr.split(' ',2))
#结果['hello','world ','and Java and c and python']

 如果分割字符是原有字符串中的子串,分割后则丢失该子串。

join()

用一个字符或子串合并字符串,是将多个字符串合并为一个型的字符串。

语法:字符或者子串.join(多字符串组成的序列)

list = ['Liu','Li','Wang','Cheng']
print('-'.join(list))
#结果 Liu-Li-Wang-Cheng
new_str = '+'.join(list)
print(new_str)
#结果 Liu+Li+Wang+Cheng

大小写转换

capitalize()

将字符串第一个字符转换成大写

语法:字符串序列.capitalize()

title()

将字符串每个单词首字母转换成大写

语法:字符串序列.title()

lower()

将字符串中大写转小写

语法:字符串序列.lower()

upper()

将字符串中小写转大写

语法:字符串序列.upper()

删除收尾空白字符

lstrip()

删除字符串左侧空白字符

语法:字符串序列.lstrip()

retrip()

删除字符串右侧空白字符

语法:字符串序列.retrip()

strip()

删除字符串两侧空白字符

语法:字符串序列.strip()

左中右对齐

ljust()

返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串

语法:字符串序列.ljust(长度,填充字符)

mystr = 'hello'
mystr.ljust(10,'.')
#结果hello.....

rjust()

返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串

语法:字符串序列.rjust(长度,填充字符)

center()

返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串

语法:字符串序列.center(长度,填充字符)

判断

所谓的判断是判断真假,返回的结果是布尔型数据类型Ture或False

startswith()

检查字符串是否以指定子串开头,是则返回ture,否则返回false。如果设置开始和结束位置下标,则在指定范围内检查

语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)

endswith()

检查字符串是否以指定子串结尾,是则返回ture,否则返回false。如果设置开始和结束位置下标,则在指定范围内检查

语法:字符串序列.endswith(子串,开始位置下标,结束位置下标)

isalpha()

如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false

语法:字符串序列.isalpha()

isdigit()

如果字符串只包含数字则返回true,否则返回false

语法:字符串序列.isdigit()

isalnum()

如果字符串至少有一个字符并且所有字符都是字母或数字则返回true,否则返回false

语法:字符串序列.isalnum()

isspace()

如果字符串只包含空白则返回true,否则返回false

语法:字符串序列. isspace()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值