Python字符串切片、查找、修改、删除、判断等常用操作

1、切片

切⽚是指对操作的对象截取其中一部分的操作。字符串、列表、元组都⽀持切片操作。

语法:

在这里插入图片描述
注意:
在这里插入图片描述

例子:

name = "abcdefg"

print(name[2:5:1]) # cde
print(name[2:5]) # cde
print(name[:5]) # abcde
print(name[1:]) # bcdefg
print(name[:]) # abcdefg
print(name[::2]) # aceg
print(name[:-1]) # abcdef, 负1表示倒数第⼀一个数据
print(name[-4:-1]) # def
print(name[::-1]) # gfedcba

这里有个小技巧,如果要将字符串逆序输出,只需要下面这样:

name = "abcdefg"
print(name[::-1]) # gfedcba

2、查找

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

2.1 find()方法:

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

语法:

在这里插入图片描述
注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。

例子:

mystr = "hello world and itcast and itheima and Python"

print(mystr.find('and'))  # 12
print(mystr.find('and', 15, 30)) # 23
print(mystr.find('ands')) # -1

2.2 index()方法:

index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则报异常。

语法:

在这里插入图片描述
注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。

例子:

mystr = "hello world and itcast and itheima and Python"

print(mystr.index('and')) # 12
print(mystr.index('and', 15, 30)) # 23
print(mystr.index('ands')) # 报错

2.3 count()方法:

count():返回某个子串在字符串中出现的次数。

语法:

在这里插入图片描述
注意:开始和结束位置下标可以省略,表示在整个字符串序列中查找。

例子:

mystr = "hello world and itcast and itheima and Python"
print(mystr.count('and')) # 3
print(mystr.count('ands')) # 0
print(mystr.count('and', 0, 20)) # 1

2.4 rfind()和rindex():

在这里插入图片描述

3、修改

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

3.1 replace():替换

语法:

在这里插入图片描述
注意:替换次数如果超出子串出现次数,则替换次数为该子串出现次数。

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:hello world he itcast he itheima he Python
print(mystr.replace('and', 'he'))  # 默认都替换了

# 结果:hello world he itcast he itheima he Python
print(mystr.replace('and', 'he', 10))

# 结果:hello world and itcast and itheima and Python
print(mystr)  # 说明字符串是不可变类型,返回的值才是替换后的字符串

3.2 split():按照指定字符分割字符串,返回一个列表

语法:

在这里插入图片描述
注意:num表示的是分割字符出现的次数,即将来返回数据个数为num+1个。

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:['hello world ', ' itcast ', ' itheima ', ' Python']
print(mystr.split('and'))

# 结果:['hello world ', ' itcast ', ' itheima and Python']
print(mystr.split('and', 2))

# 结果:['hello', 'world', 'and', 'itcast', 'and', 'itheima', 'and', 'Python']
print(mystr.split(' '))

# 结果:['hello', 'world', 'and itcast and itheima and Python']
print(mystr.split(' ', 2))

# 结果:['hello', 'world', 'and', 'itcast', 'and', 'itheima', 'and', 'Python']
print(mystr.split())  # 默认是按空格分割

注意:如果分割字符是原有字符串中的⼦串,分割后则丢失该⼦串。

3.3 join():

⽤一个字符或⼦串合并字符串,即将多个字符串合并为一个新的字符串。

语法:

在这里插入图片描述
例子:

list1 = ['chuan', 'zhi', 'bo', 'ke']
t1 = ('aa', 'b', 'cc', 'ddd')

# 结果:chuan_zhi_bo_ke
print('_'.join(list1))

# 结果:aa...b...cc...ddd
print('...'.join(t1))

3.4 capitalize():将字符串第一个字符转换成大写

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:Hello world and itcast and itheima and python
print(mystr.capitalize())

注意:capitalize()函数转换后,只字符串第一个字符⼤写,其他的字符全都小写。

3.5 title():将字符串每个单词首字母转换成大写

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:Hello World And Itcast And Itheima And Python
print(mystr.title())

3.6 lower():将字符串中大写转小写

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:hello world and itcast and itheima and python
print(mystr.lower())

3.7 upper():将字符串中小写转大写

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:HELLO WORLD AND ITCAST AND ITHEIMA AND PYTHON
print(mystr.upper())

4、删除

4.1 删除字符串两侧空白:

(1)lstrip():删除字符串左侧空白字符

在这里插入图片描述

(2)rstrip():删除字符串右侧空白字符

在这里插入图片描述

(3)strip():删除字符串两侧空白字符

在这里插入图片描述

4.2 字符串对齐操作:

(1)ljust():

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

语法:

在这里插入图片描述
输出效果:

在这里插入图片描述

(2)rjust():

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

(3)center():

返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串,语法和ljust()相同。
输出效果:

在这里插入图片描述

5、判断

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

5.1 startswith():

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

语法:

在这里插入图片描述

例子:

mystr = "hello world and itcast and itheima and Python "

# 结果:True
print(mystr.startswith('hello'))

# 结果False
print(mystr.startswith('hello', 5, 20))

5.2 endswith():

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

语法:

在这里插入图片描述

例子:

mystr = "hello world and itcast and itheima and Python"

# 结果:True
print(mystr.endswith('Python'))

# 结果:False
print(mystr.endswith('python'))

# 结果:False
print(mystr.endswith('Python', 2, 20))

5.3 isalpha():

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

例子:

mystr1 = 'hello'
mystr2 = 'hello12345'

# 结果:True
print(mystr1.isalpha())

# 结果:False
print(mystr2.isalpha())

5.4 isdigit():

如果字符串只包含数字则返回 True 否则返回 False。

例子:

mystr1 = 'aaa12345'
mystr2 = '12345'

# 结果: False
print(mystr1.isdigit())

# 结果:False
print(mystr2.isdigit())

5.5 isalnum():

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

例子:

mystr1 = 'aaa12345'
mystr2 = '12345-'

# 结果:True
print(mystr1.isalnum())

# 结果:False
print(mystr2.isalnum())

5.6 isspace():

如果字符串中只包含空白,则返回 True,否则返回 False。

例子:

mystr1 = '1 2 3 4 5'
mystr2 = ' '

# 结果:False
print(mystr1.isspace())

# 结果:True
print(mystr2.isspace())

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

Ma Sizhou

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值