Python字符串的方法

@Python字符串的方法

  1. 字符串查找
count计数功能,返回自定义字符串
find查找,找到第一个返回
rfind查找,从左往右查找,返回的索引都是从左往右计算
index查找,找不到报错
rindex从左往右查找,返回的索引都是从左往右计算,找不到报错
s='hello world python'
ret=s.cpunt('o')
print(ret)
结果:3
num2=s.find('hhh')
print(num2)
结果:-1
num3=s.rfind('o')
print(num3)
结果:16
index=s.index('ll')
print(index)
结果:2
index=s.index('z')
print(index)
结果:找不到报错

2.字符串的拆分

partition分割,把mystr以str分割成三部分,str之前为一部分,之后一部分,本身一部分
splitlines按照行分割,返回一个包含行作为各元素的列表 ,按照\n分割
keepends=False默认不显示换行符
split按照指定内容进行拆分,拆分结果不包含指定内容
s='hello world python'
ret=s.partition('world')
print(ret)
结果:('hello','world','python')#返回一个元组类型
ret1=s.splitlines()
print(ret1)
结果:['hello world python']
ret2=s.splitlines(keepends=True)#  返回一个列表类型
print(ret2)
结果:['hello\n','world\n','python']
ret3=s.split('o')    #返回一个列表类型
print(ret3)
结果:['hell',' w','rld pyth','n']
  1. 字符串的替换
replace替换,从左到右替换指定元素,可以指定被替换的个数
translate替换,对应关系:一 一对应
s='hello world python'
a=s.replace('o','9')#将所有的o全部替换成9,默认是全部替换
print(a)
结果:hell9 w9rld pyth9n
a1=s.replace('o','9',2)#***第三个数是指定呗替换的个数***
print(a1)
结果:hell9 w9rld python
s='hello world'
对应关系:world!------->python
intab='world!'
outab='python'
a2=str.maketrans(intab,outab)
s2=s.tranlate(a2)
print(s2)
结果:hehhy python
  1. 字符串的修饰
center让内容居中显示,其他地方默认显示空格
ljust左对齐,其他空间默认使用空格填充
rjust右对齐,其他空间默认使用空格填充
zfill右对齐,其他部分用0填充
strip默认去除两边的空格,取出内容可以指定
rstrip去除右边的空格
lstrip去除左边的空格
t='      hello      '
ret=t.strip()
print(ret)
结果:hello

format

使用位置参数按位置传递参数,必须一 一对应
从关键字{ }中可以写一些变量名称
填充与格式化:[填充字符] [对齐方式:左对齐 < 、居中^、右对齐 >] [宽度]
精度与进制{:. 2f} 、二进制{:b}八进制{:o}十六进制{:x}
百分号式格式化%s–>字符串、%d–>int整型、%%–>%、%f–>float
name='zs'
age=10
msg='大家好我叫{},今年年龄{}'
print(msg.format(name,age))
结果:大家好我叫zs,今年年龄10
msg1='大家好我叫{0},我叫{0}今年年龄{1}'
print(msg1.format(name,age))
结果:大家好我叫zs,我叫zs,今年年龄10
msg='大家好,我叫{name},今年年龄{age}'
print(msg.format(name='开心',age='19'))
结果:大家好,我叫开心,今年年龄19
name=js
age=10
msg='大家好,我叫{:@^10},年龄{:*<5}'
print(msg.format(name,age))
结果:大家伙我叫@@@@js@@@@,年龄10***
#{:^10}-->填充内容省略,默认使用空格
msg='长方形的尝试{:.2f},宽舒{:.3f}'
print(msg.format(5/3,9/8))
结果:长方形的长是1.67,宽是1.125

5.字符串的变形

upper全部转换成大写
lower全部转换成小写
swapcase大小写转换
title首字母大写
capitalize只有字符串的首字母大写
expandtabs必须有制表符\t出现

空格数=tabsize-前面的数字
s.expandtabs(tabsize=4)–>设定一个制表符\t站空间为4

s='\t abc'
s1=s.expandtabs()
print(s1)
结果:        abc
s2=s1.replace(‘ ’,‘@’)
print(s2)
结果:@@@@@@@@abc
  1. 字符串的判断

结果均为布尔值:True or False

isalnum判断字符串是否完全由字母或数字组成
isalpha判断字符串是否完全由字母组成
isdigit判断字符串是否完全由数字组成
isupper判断字符串完全由大写字母组成
islower判断字符串完全由小写字母组成
istitle判断是否满足title的条件
ispace判断字符串是否完全由空格组成
startwith判断字符串的开头字符,也可以截取字符
endwith判断字符串的结尾字符,也可以截取字符
s='hello world '
ret=s.startwith('h')
print(ret)
结果:True
  1. 字符串编码

1)endcode:是编码。   将字符串----->字节码这里插入图片描述
1)encode是编码,将字符串----->字节码,str---->byte
2) decode是解码,将字节码---->字符码,byte----->str

s='我'
ret=s.encode()
print(ret)------->xe6\x88\x91
s2=ret.decode()
print(s2)------>'我'

注意:用什么样的编码表就需要使用什么样的编码解码。
9.字符串的拼接:join()
将元素以指定的连接符拼接成一个新的字符串。
S=’hello’
Ret=’_’.join(s)
Print(s)
结果:h_e_l_l_o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值