一、python字符串的查找
1、count 统计字符串个数
s="hello world python hello"
num=s.count("hello")#统计字符串个数
print(num)#2
2、find 从左往右查找,找不到回-1
s="hello world python hello"
num1=s.find("ld")
print(num1)
3、rfind 从右往左查找,找不到回-1
num2=s.rfind("ld")
print(num2)
num4=s.rfind("so")
print(num4) #找不到输出-1
4、index从左往右查找,找不到报错
num3=s.index("or")
print(num3)
num5=s.index("ji")
print(num5)#找不到报错
5、rindex从右往左查找,找不到报错
num6=s.rindex("l")
print(num6)
二、字符串的拆分
1、partition
s="hello world python"
ret=s.partition("world")
print(ret)#以选中的字符串为中心分割
2、splitlines
s="hello\nworld\npython"
ret=s.splitlines()
print(ret)
3、split
s="hello world python"
ret=s.split(" ")
print(ret)
ret=s.split("o")
print(ret)
三、字符串的替换
1、replace
s="hello world!"
set=s.replace("o","0",2)
print(set)#将o替换成0,2是指定的替换个数
2、translate 按对应关系替换
s="hello world"
intab="world!"
outtab="python"
ret=str.maketrans(intab,outtab)
s2=s.translate(ret)
print(s2)
四、字符串的修饰
1、center
s=" hello world "
ret=s.center(16)
print(ret)
ret1=s.center(17,"*")#第二个参数表示填充内容
print(ret1)
2、ljust左对齐,剩余部分用空格填充,可用指定符号代替
ret=s.ljust(18)
print(ret)
ret=s.ljust(17,"*")
print(ret)
3、rjust右对齐,剩余部分用空格填充,可用指定符号代替
ret=s.rjust(17,"!")
print(ret)
4、zfill 不足的地方用0填充
ret=s.zfill(17)
print(ret)
5、strip默认去除两端空格,去除内容可指定
ret=s.strip()
print(ret)
6、rstrip去除右边空格
ret=s.rstrip()
print(ret)
7、lstrip去除左边空格
ret=s.lstrip()
print(ret)
五、format运用
1、name=“张三”
age=10
msg="大家好我叫{0}!我叫{0}!我叫{0}!,今年年龄{1}岁。".format(name,age)
#{}占位采用索引
print(msg)
2、format关键字运用
msg="大家好,我叫{name},今年年龄{age}岁"
print(msg.format(name="lolo",age="12"))
print(msg.format(name="张三",age="10"))#顺序不固定
print(msg.format(age="18",name="李四"))
name="张三"
age=18
height=2
msg="大家好我叫{:@^10},今年年龄{:*<3},身高{:!>5}"
print(msg.format(name,age,height))
3、精度与进制
msg="长方形的长{:.2f},宽{:.3f},求面积{:.2f}"
chang=5/3
kuan=7/8
area=chang * kuan
print(msg.format(chang,kuan,area))
进制 2进制 8进制 16进制
print("二进制{:b}".format(3))#11
print("八进制{:o}".format(13))#15
print("十六进制{:x}".format(15))#f
4、百分号方式 格式化
name="张三"
msg="大家好,我叫%s"% name
print(msg)
age=10
msg="大家好,我叫%s,今年%d岁了,学习python进度10%%"%(name,age)
print(msg)
六、字符串的变型
s="hello World"
s1=s.upper()
print(s1)
s2=s.lower()
print(s2)
s3=s.swapcase()
print(s3)
s4=s.capitalize()
print(s4)
s5=s.title()
print(s5)
s="\tabc"
s1=s.expandtabs()
print(s1)
s2=s1.replace("","@")
print(s2)
s="abcef\tabc"
s3=s.expandtabs()
print(s3)
s=“abcafef\tabc”
s3=s.expandtabs(tabsize=4)
print(s3)
七、字符串的判断
isalnum 判断字符串是否完全由字母或数字组成
isalpha 判断字符串是否完全由字母组成
isdigit 判断字符串是否完全由数字组成
isupper 判断字符串当中的字母是否完全是大写
islower 判断字符串当中的字母是否完全是小写
istitle 判断字符串是否满足title格式
isspace 判断字符串是否完全由空格组成
startswith 判断字符串的开头字符,也可以截取判断
endswith 判断字符串的结尾字符,也可以截取判断
split 判断字符串的分隔符切片
s="abc1 23"
s1=s.isalnum()
print(s1)
s2=s.isdigit()
print(s2)
s3=s.isalpha()
print()
s4=s.isupper()
print(s4)
s5=s.islower()
print(s5)
s6=s.istitle()
print(s6)
s7=s.isspace()
print(s7)
s8=s.startswith("a")
print(s8)
s9=s.endswith("3")
print(s9)
s10=s.split()
print(s10)
八、字符串的拼接
用join()方法,在字符串中插入
s="hello"
s1="_".join(s)
print(s1)
九、解码和编码
encode是编码
decode是解码
s="我"
str=s.encode()
print(str)
s2=str.decode()
print(s2)
如果指定编码表编码,那么也要用相同的编码表解码。
s="我"
ret=s.encode(encoding="gbk")
print(ret)
s2=ret.decode(encoding="gbk")
print(s2)