day3—python——字符串常用方法

password=' 123456 '
print(password.strip()) #默认去掉字符串两边的空格和换行符;打印123456
password=' 123456 \n 456789 '
print(password.strip()) #默认去掉字符串两边的空格和换行符;
#打印:
123456
456789

password='jpg 12345456789 .jpg'
print(password.strip('.jpg')) #去掉括号里的内容
#打印:
12345456789

字符串的值不能改变,上面的方法可以赋新的值,列表、字典可以改变
比如设置new_password=password.strip('.jpg')
print(password)
print(new_password)#password的值并没有改变

print(password.lstrip()) #只去左边的空格和换行符
print(password.rstrip())
--------------------------------------------------------------------------------

print(password.upper())#转成大写的 一般可以验证码时使用,一般验证码不区分大小写
print(password.lower())#转成小写的
print(password.capitalize())#把首字母改成大写的
print(password.count('jpg')) #计算字符在里面的出现的字数
print(password.replace('谭爱玲','上山打老虎'))#替换字符串,如果替换的不存在,不报错也不替换
--------------------------------------------------------------------------------

filename = 'a.mp4'
age=18
print(filename.endswith('.mp3'))#判断是否以xx结尾,如果为真返回True
print(filename.startswith('186'))#判断是否以开头
print('{name},{age}'.format(name='hhh',age=age))
--------------------------------------------------------------------------------

split:
1、是把字符串变成list
2、以某个字符串分割,分割之后的是list里面的每一个元素

names = '小军 海龙 杨帆 谭爱玲'
print(names.split(' '))#以一个空格分割

names = '小军 海龙 杨帆 谭爱玲'
print(names.split(' ')) #['小军', '海龙', '杨帆', '', '', '', '', '', '', '谭爱玲']
print(names.split()) #如果什么都不写,默认以空分割,中间有多个空格也可以;
#打印:['小军', '海龙', '杨帆', '谭爱玲']
print(names.split(','))#使用不存在的,不分割
#打印:['小军 海龙 杨帆 谭爱玲']

print(names.replace(' ',''))

如果使用list():
names = '小军,海龙,杨帆,谭爱玲'
print(list(names))
#['小', '军', ',', '海', '龙', ',', '杨', '帆', ',', '谭', '爱', '玲']

可以使用:
print(names.split(','))
#['小军', '海龙', '杨帆', '谭爱玲']

--------------------------------------------------------------------------------

names = '小军 海龙 杨帆 谭爱玲'
print(names.replace(' ','')) #把所有的空格替换为空
#打印:小军海龙杨帆谭爱玲
--------------------------------------------------------------------------------

True #布尔类型 ,真
False #假,条件不成立

if filename.endswith('.mp3'):
pass #过
else:
print('')
--------------------------------------------------------------------------------
join:
1、把list变成了字符串
2、把list里面每一个元素用逗号连接起来

users = ['username','user2','user3']
print(str(users)) #list转字符串,如果用str()方法,会连中括号一起转换
#打印:
['username', 'user2', 'user3'] 这个类型其实已经是字符串了

users = ['username','user2','user3']
res = ','.join(users)#1、把list变成了字符串 2、把list里面每一个元素用逗号连接起来
print(res)
res = 'SB'.join(users)#1、把list变成了字符串 2、把list里面每一个元素用SB连接起来
print(res)

#打印:
username,user2,user3
usernameSBuser2SBuser3

join方法与split正好相反,join可以把字符串、list、元组、字典只要可以循环的,都可以使用

users = ['username','user2','user3']
s='asdcff'
t=('1234','2334')
d={'name':'hhh','sex':'12'}
res = ','.join(users)
res1 = ','.join(s)
res2 = ','.join(t)
res3= ','.join(d)#字典只对键进行连接
print(res) # username,user2,user3
print(res1) # a,s,d,c,f,f
print(res2) # 1234,2334
print(res3) # name,sex
--------------------------------------------------------------------------------

zfill()自动补零

l = list(range(1,110))
new_l = []
for i in l:
si=str(i) #将int类型转为str
if len(si)==1: #个位数时
new_i = '00'+si
elif len(si) == 2: #十位数时
new_i = '0'+si
else:
new_i = si
new_l.append(new_i)
print(new_l)
#打印:
['001', '002', '003', '004', '005', '006', '007', ……,'109']

简便方法:
l = list(range(1,110))
new_l = []
for i in l:
si=str(i)
new_l.append(si.zfill(5)) #自动补零,补成5位数
print(new_l)

--------------------------------------------------------------------------------

寻找元素下标:

s='abcdef'
print(s.find('a')) #0
print(s.find('z'))#没有的值返回-1 # -1
print(s.index('a')) #0
print(s.index('z'))#没有的值会报错
--------------------------------------------------------------------------------

寻找元素的个数:
s='abcdef'
print(s.count('z')) #寻找元素的个数 #0
print(s.count('a')) #1
--------------------------------------------------------------------------------

s='abcdef'
print('0'.isdigit())#判断是否为正整数,包括零,返回正负值 12.3为false 比如输入选项用 只能输入数字时用

print(s.islower()) #判断是否都为小写
print(s.isupper()) #判断是否都为大写
print('acbe123'.isalnum()) #判断字符串里面只有英文或者有数字。
#aaaAfd true
#1223432 true
#acas12323 true
#sdf&*( false
print('acbe'.isalpha()) #只能是字母
#都是字母才返回ture
print(s.isspace())#判断是否的空格
print(s.isidentifier()) #判断是否为合法变量名,变量名不能以数字开头
--------------------------------------------------------------------------------

password=' 123456 \n 456789 '
password.splitlines()#以换行符分割字符串 ==password.split('\n')
print(password)
--------------------------------------------------------------------------------

import string
print(string.ascii_lowercase) #所有大写
print(string.ascii_uppercase) #所有小写
print(string.digits) #所有数字
print(string.punctuation) #所有特殊符号
print(string.ascii_letters) #所有字母
posted @ 2018-09-06 13:46  apollecn  阅读(135)  评论(0编辑  收藏  举报