字符串操作

字符串

字符串索引正序从0开始,倒序从-1开始。

a='123456789'
i=0
while i<len(a):
    print(a[i])
    i+=1

将a倒过来输出:

for i in range(-1,-len(a)-1,-1):
    print(a[i])

切片
切片格式:[起始索引:结束索引:步长]
注:
步长可以省略,默认为1
包括开头不包括结尾。

a='123456789'
print(a[0:5:2])
print(a[3:])
print(a[:5])
print(a[:])
print(a[3::3])
print(a[:4:3])
print(a[3:0:-1])
print(a[::-1])
print(a[-1:-5:-2])
print(a[-8:5])
print(a[0:-7])
print(a[-1:-5:-1])
print(a[-5:-1])

输出结果为:
在这里插入图片描述
字符串函数
一、字符串的查找

函数名功能
find()查找,返回从左第一个指定字符的索引,找不到返回-1
rfind()查找,返回从右第一个指定字符的索引,找不到返回-1
index()查找,返回从左第一个指定字符的索引,找不到报错
rindex()查找,返回从右第一个指定字符的索引,找不到报错
count()计数,返回子串在母串的个数

二、字符串的拆分

函数名功能
partition()把母串以第一个子串分割为三个部分,子串前边,子串,子串后边
splitlines()按照行分割,返回一个包含各行的作为元素的列表,按照换行符分割
split()按照指定的内容进行分割,maxsplit:默认将指定的所有的内容进行分割,可以指定值
a="123ab456"
x=a.partition("ab")
print(x)

在这里插入图片描述

a="123a456a789a0"
b=a.split('a')
print(b)

在这里插入图片描述

a="123a456a789a0"
b=a.split('a',maxsplit=2)
print(b)

在这里插入图片描述

a='abc\n123\n45'
b=a.splitlines()
print(b)
b=a.split('\n')
print(b)

在这里插入图片描述

三、字符串的替换

函数名功能
replace()从左到右替换指定的元素,可以指定替换的个数,默认全部替换
translate()按照对应关系来替换内容
a="123abc456abc"
b=a.replace("abc","uio",1)
print(b)

在这里插入图片描述

a='123abc456abc'
b="1234567"
c="abcdefg"
table=str.maketrans(b,c)  # 创建映射表,b和c的长度必须一样,组成成映射表
b=a.translate(table)  # 通过映射表,进行替换生成新的串
print(b)

在这里插入图片描述
四、字符串的修饰

函数名功能
center()让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充
ljust()让字符串在指定的长度居左,可以指定填充内容,默认空格填充
rjust()让字符串在指定的长度居右,可以指定填充内容,默认空格填充
zfill()将字符串填充到指定的长度,不足地方用0从左开始补充
format()按照顺序,将后边的参数传递给前面的大括号
strip()默认去除两边的空格,去除内容可以指定
rstip()默认去除右边的空格,去除内容可以指定
lstip()默认去除左边的空格,去除内容可以指定
a="123"
b=a.center(7,"*")  # 居中
print(b)
b=a.ljust(7,"*")  # 居左
print(b)
b=a.rjust(7,"*")  # 居右
print(b)

在这里插入图片描述

a="123"
b=a.zfill(10)  # 在左边填充0
print(b)

在这里插入图片描述

a="   123   "
b=a.strip()  # 去除所有空格
print(b,end=".")
print()
b=a.lstrip()  # 去除左边空格
print(b,end=".")
print()
b=a.rstrip()  # 去除右边空格
print(b,end=".")

在这里插入图片描述

a="###123####"
print(a.strip("#"))
print(a.lstrip("#"))
print(a.rstrip("#"))

在这里插入图片描述

# format用法
a="我叫{},我今年{}岁".format("lee",20)
print(a)
a="我叫{0},姓名{0},年龄{1}".format("lee",20)
print(a)
print("我叫{name},年龄{age},姓名{name}".format(name="lee",age=18))
a="我叫{:@^6}".format("赵六")
print(a)
# 意思就是将后边的字符串补充到前边,如果不够格式中后边的数字的长度,则用冒号后边的字符补齐。^代表后边的字符居中,<代表后边的字符居左,>代表后边的字符居右。
#  ^代表赵六居中
#  >代表赵六居右
#  <代表赵六居左
#  :@代表填充@字符,冒号后边的就是填充的字符
#  后边的数字代表总长度

在这里插入图片描述

a="二进制{:b}".format(10)
print(a)
x=bin(10)
print(x)
b="八进制{:o}".format(10)
print(b)
y=oct(10)
print(y)
c="十六进制{:x}".format(10)
print(c)
z=hex(10)
print(z)

在这里插入图片描述
字符串格式化:

name="张三"
age=18
height=1.75
# %s代表字符串,%f代表小数,%i或%d代表整数
x="我叫%s身高%f年龄%i"%(name,height,age)
print(x)
# %%代表百分号
x=0.25
a="成材率%.2f%%"%(x)
print(a)

在这里插入图片描述
五、字符串变形

函数名功能
upper()将字符串中的所有字母转换为大写
lower()将字符串中的所有字母转换为小写
swapcase()将字符串中的所有字母大小写互换
title()将字符串当中的单词首字母大写,单词以非字母划分
capitalize()只有这个字符串的首字母大写
expandtabs()把字符串中的“\t”转换为空格,默认的空格数是8

六、字符串判断

函数名功能
isalnum()判断字符串是否完全由字母或数字组成
isalpha()判断字符串是否完全由字母组成
isdigit()判断字符串是否完全由数字组成
isupper()判断字符串当中的字母是否完全是大写
islower()判断字符串当中的字母是否完全是小写
istitle()判断字符串是否满足title格式
isspace()判断字符串是否完全由空格组成
startswith()判断字符串是否以后面的参数开头
endswith()判断字符串是否以后面的参数结束

七、dir()和help()内置函数
dir()函数可以列出字符串对象中的所有方法、属性列表,可以使用help()查看具体的介绍。

字符串编码

encode是编码,将字符串转换为字节码
decode是解码,将字节码转换为字符串

a="la我"
b=a.encode()
print(b)
c=b.decode()
print(c)

在这里插入图片描述

转义字符

转义意义
\\产生一个反斜杠符号(\)
\’产生一个单引号(’)
\"产生一个双引号(")
\n表示换行
\t横向制表符(占8个字符,如果前面少于8个字符则剩余字符使用空格表示)
\表示续行

元字符串

在任意字符串前加上“R ”或“r”,那么字符串中所有转义字符在使用时都不会进行转义操作。

a=r"E:\test\nex.txt"
print(a)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值