字符串操作

字符串操作

  • 字符串单引号 双引号 三引号都是可以定义字符串的。三引号可以换行
c = "I'm TOM"
print(c)

c = 'I\'m TOM'
print(c)

c = """I'm 
TOM"""
print(c)
  • 字符串输出
name = 'TOM'
print('我的名字叫%s'% name)
print(f'我的名字叫{name}')
  • 下标:系统会为每个元素提供一个下标(索引值)
name = 'abcdefh'
print(name[1])
  • 切片:对字符串 列表 元组对象截取一部分的操作,他们三者都支持切片,步长为1可以省略不写
#序列名[开始位置 :结束下标:步长] 步长为1可以省略
name = '012345678'
print(name[2:5:2])  # 24
print(name[5:])  # 5678
print(name[:5])  # 01234
print(name[:])  # 012345678
print(name[::-1])  # 876543210
print(name[-4:-1])  # 567
print(name[-4:-1:-1])  # 选不了,如果切片方向和步长方向相反则选不出来,步长为正是从左往右,切片为正从左往右切
  • 查找
#查找: find index count方法
#find():找到返回字串的开始下标,否则返回-1
#find用法:       str.find(字串, 开始下标, 结束下标)
str1 = 'ssc NB plus ohoh!!'
print(str1.find('plus'))  # 7
print(str1.find('plus', 1, 10))  # -1
print(str1.find('plus', 1, 11))  # 7

#index用法和find一样,但是找不到后会出现报错
print(str1.index('plus', 1, 11))  # 7
# print(str1.index('plus', 1, 10))  # 报错

#count返回的是找到字串的次数
print(str1.count('plus', 1, 11))  # 1
print(str1.count('plus', 1, 10))  # 0

#rfind 和 rindex结果一样但是查找方向从右往左查找
  • 修改:常用的三种修改
# 修改 replace():替换
# 语法:str.replace(旧子串, 新字串, 替换次数) str1.replace('plus', 'and')不改变原有字符串,会返回一个新的字符串
# 字符串是不可变类型
str1 = 'ssc NB plus ohoh!! plus ddd'
print(str1.replace('plus', 'and'))  # ssc NB and ohoh!!
print(str1.replace('plus', 'and', 1))  # ssc NB and ohoh!!
print(str1.replace('plus', 'and', 2))  # ssc NB and ohoh!! and

# 修改 split():分割,返回一个列表,丢失分割字符
# 语法:str.split(分割字符, 次数)
print(str1.split('plus'))  # ['ssc NB ', ' ohoh!! ', ' ddd']
print(str1.split('plus', 1))  # ['ssc NB ', ' ohoh!! plus ddd']

# join()--合并列表里的字符串数据成为一个大字符串
str2 = ['aa', 'bb', 'cc']
print('...'.join(str2))  # aa...bb...cc
  • 不常用的修改操作
    capitalize():将字符串第一个字符换成大写
    title():将字符串每个单词首字母大写
# capitalize():将字符串第一个字符换成大写,其他全转为小写
#  title():将字符串每个单词首字母大写
#  upper() : 小写转大写
#  lower() : 大写转小写
str1 = 'ssc NB plus ohoh!! plus ddd'
print(str1.capitalize())  # Ssc nb plus ohoh!! plus ddd
print(str1.title())  # Ssc Nb Plus Ohoh!! Plus Ddd
print(str1.upper())  # SSC NB PLUS OHOH!! PLUS DDD
print(str1.lower())  # ssc nb plus ohoh!! plus ddd

# lstrip(): 删除字符串左侧空白字符
# rstrip(): 删除字符串右侧空白字符
# strip(): 删除字符串两侧空白字符
str2 = '  ssc NB plus ohoh!! plus ddd   '
print(str2.lstrip())  # ssc NB plus ohoh!! plus ddd
print(str2.rstrip())  #   ssc NB plus ohoh!! plus ddd
print(str2.strip())  # ssc NB plus ohoh!! plus ddd
#  ljust(长度 ,要填充字符):返回一个字符串,左对齐长度不够用填充字符来代替
#  rjust(长度 ,要填充字符):返回一个字符串,右对齐长度不够用填充字符来代替
#  center(长度 ,要填充字符):返回一个字符串,中间对齐长度不够用填充字符来代替
print(str2.ljust(50 ,'.'))  #   ssc NB plus ohoh!! plus ddd   ..................
print(str2.rjust(50 ,'.'))  # ..................  ssc NB plus ohoh!! plus ddd
print(str2.center(50 ,'.'))  # .........  ssc NB plus ohoh!! plus ddd   .........
  • 判断
# startswith(字串,开始下标,结束下标):找到一个字串,找到返回一个bool类型的True,否则False
# endswith(字串,开始下标,结束下标):判断结尾是不是对应的字串,找到返回一个bool类型的True,否则False
str2 = '  ssc NB plus ohoh!! plus ddd   '
print(str2.startswith('NB'))  # False
print(str2.startswith('NB', 6, 8))  # True
print(str2.endswith('NB'))  # False
# isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返
# isdigit():如果字符串只包含数字则返回True否则返回False。
# isspace()︰如果字符串中只包含空白,则返回True,否则返回False。
print(str2.isalpha())  # False
print(str2.isdigit())  # False
print(str2.isspace())  # False
  • 总结

    下标
    注意记住常用的函数(find index )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值