Python字符串的常用方法

字符串的常用方法

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('验证失败')

startswith()

判断字符串以什么开头

s='ASDCXF'
print(s.startswith('A'))
print(s.startswith('AS'))
print(s.startswith('ASDCXF'))

这个还可以切片,如,判断这个字符串从第三位到第四位开始是不是D开头

print(s.startswith('D',2,3))#顾首不顾尾

endswith()

判断字符串是不是以是什么结尾

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('你输入的数量不全是数字')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值