Python字符串的常用方法
程序员文章站
2022-05-19 15:18:26
...
字符串的常用方法
upper()转换成大写,lower()转换成小写,都不会对原字符串进行任何操作,都是产生一个新的字符串
s='aJasgAsdg'
s1=s.upper()
print(s1)
s2=s.lower()
print(s2)
这个应用在哪里呢,一般是验证码,不区分大小写,如下:
username=input('用户名')
password=input('密码')
yanzhengma='ASsdf'
you=input('请输入验证码,不区分大小写')
if you.upper() == yanzhengma.upper():
if username == 'lala' and password == '123':
print('成功')
else:
print('失败')
else:
print('验证失败')
startwith()
判断字符串以什么开头
s='ASDCXF'
print(s.startswith('A'))
print(s.startswith('AS'))
print(s.startswith('ASDCXF'))
这个还可以切片,如,判断这个字符串从第三位到第四位开始是不是D开头
print(s.startswith('D',2,3))#顾首不顾尾
endwith()
判断字符串是不是以是什么结尾
print(s.endswith('sa'))
print(s.endswith('XF'))
print(s.endswith('F'))
replace()
替换指定字符
mes='you 很厉害,you 很帅,you很酷'
mes1=mes.replace('you','me')
mes2=mes.replace('you','me',1)#后面这个1是个数,默认全部替换,1就从左至右只替换一个
print(mes)
print(mes1)
print(mes2)
strip()
去除空白:空格 Tab键 换行符
s=' \nagag\t'#\t是一个Tab键,四个空格,\n是换行符
print(s)
print(s.strip())
s5=s.strip()
print(s5)
strip()还可以去除指定的字符,如下:
s4='agsd一二三gasdgd'
#我就想留下一二三,怎么办
s6=s4.strip('agsd')
print(s6)
strip()会从前往后从后往前,同时去除,只要有我想去除的字符,都去除,但是要注意,你要是在一二三中间有个a,比如一a二三,它是不会去的,碰到一就停了,碰到三也停了
s4='agsd一二s三gasdgd'
s6=s4.strip('agsd')
print(s6)
split()
用于切割字符串,把字符串转成列表,split默认按照空格分割,返回一个列表
s='张三 赵四 王五'
l=s.split()
print(l)#split默认按照空格分割,返回一个列表
还可以指定分隔符
s='张三<赵四<王五'
l=s.split('<')
print(l)
s='张三:赵四:王五'
l=s.split(':')
print(l)
s=':张三:赵四:王五'#注意这里最前面还有个:,所以会分割一个空字符串出来
l=s.split(':')
print(l)
还可以限定分割个数,我只想分割前两个冒号
s=':张三:赵四:王五'
l=s.split(':',2)
print(l)
既然有字符串转列表,就有列表转字符串的方法
join()
s1='alex'
s2='+'.join(s1)
print(s2)#结果是a+l+e+x
s=[‘张三’, ‘赵四’, ‘王五’] 现在想把它转化成’张三:赵四:王五’
s=['张三', '赵四', '王五']
s2=':'.join(s)
print(s2)
但是这个方法有个前提:列表里面的元素都是字符串才行,如果是数字就报错了
s=['张三', '赵四', '王五',32]
s2=':'.join(s)
print(s2)
count()
计算字符出现的次数
s='asgsadgasdgdsafsfasdfsdf'
print(s.count('a'))
format格式化输出
第一种用法
使用{}占位,后面依次写入需要的数据
msg='我叫{}今年{}性别{}'.format('奥吉弗',12,'男')
print(msg)
第二种用法
使用索引下标,0 1 2表示format()里面的元素的索引
msg='我叫{0}今年{1}性别{2}我依然叫{0}'.format('奥吉弗',12,'男')
print(msg)
第三种用法
以键值对的形式
msg='我叫{name}今年{age}性别{sex}我依然叫{name}'.format(age=13,name='奥吉',sex='男')
print(msg)
is系列
name='agsdgsd787gasgha9sd'
print(name.isalpha())#字符串是不是全部由字母组成
print(name.isalnum())#字符串是不是由字母或数字组成
print(name.isdecimal())#字符串是不是由十进制组成
s=input('请输入数量')
if s.isdecimal():
print(int(s))
else:
print('你输入的数量不全是数字')
上一篇: python字符串的常用方法