字符串常见操作的后续学习

513 阅读3分钟

操作类型:

   判断:isalpha, isdigit, isalnum, isspaceisupperislower
   替换内容:replace
   切割字符串:split, rsplit, splitlines, partition, rpartition
   修改字母大小写:capitalize, title, upper, lower
一.判断:
isalpha:  字符串是否是由纯字母组成的
isdigit:  字符串是否是由纯数字组成的
isalnum: 字符串是否是只由字母或数字组成
isspace: 字符串是否只由空格祖成,空白的也不行
isupper:  字符串是否是由大写字母和数字构成
islower: 字符串是否只由小写字母和数字构成

这里应该不难看出以is开头的都是“是什么吗?”的意思,还有像has开头的都是“有什么吗?”的意思。并且它们返回的结果都是布尔类型。

格式上:它们的格式都是大同小异,以isalpha为例

s = 'A10'
a = s.isalpha()  # 是否全部是字母
print(a)
二.替换内容:
replace

格式:

变量.replace(old,new,count)    old: 旧字符     new: 新字符   count: 替换次数
变量.replace(old,new)    这种就是默认的全部替换

例子:

把帅哥全部换成男神

s = '帅哥好,帅哥吃饭没'
a = s.replace('帅哥', '男神', 2)
print(a)
三.切割字符串:
split: 按照输入的分割符对目标字符串进行分割,其结果会变成一个列表
rsplit:与split同理,只是前后两者分割起始方向相反
splitlines:按行分割,结果也是一个列表
partition:他只会分割一次,遇到第一个分隔符,就不会继续切割,其结果是['分隔符前面部分','分隔符','分隔符后面
部分']三部分
rpartition:与partition同理,只是前后两者分割起始方向相反

格式:

变量.split('分隔符',count)   count是分割次数的意思  
变量.split('分隔符')      默认照存在的分隔符全部切割

变量.splitlines()

变量. partition('分隔符')    

这里我给大家分别举三个例子,以便大家更好理解

# 把帅哥好和帅哥吃饭没分开

s = '帅哥好,帅哥吃饭没'

a = s.split(',')
print(a)
a = s.split(','1)
print(a)
# 按行分割成一个列表

a = '''小泽此番
小泽打游戏
小泽学习
'''
b = a.splitlines()
print(b)

 把帅哥好和 ,和帅哥吃饭没分开

 s = '帅哥好,帅哥吃饭没'

 a = s.partition(',')
 print(a)
四.修改大小写:
title: 将字符串中空格符后的第一个字母变成大写
upper: 将字符串的字母全部换成大写
lower: 将字符串的字母全部换成小写
capitalize: 将整个字符串的首字母变成大写

格式和前面的都是大同小异,我们还是举个相关例子来说明

将字母进行大小写转换
  
a = 'hello hello'
b = a.title()
c = a.upper()
d = a.lower()
e = a.capitalize()
print(b,  c, d, e)
五.今天写的小程序:

用户名或者手机号登录+密码

用户名:全部小写,首母不能是数字,长度必须是六位以上

手机号码:十一位,纯数字

while True:
    username = input('请输入用户名或手机号码:')
    a = username[0]
    if (username.islower() and a.isalpha() and len(username) >= 6) or (username.isdigit() and len(username) == 11):
        while True:
            password = input('请输入密码:')
            if len(password) == 6 and password.isdigit():
                if (username == 'admin123' or username == '13981489068') and password == '123456':
                    print('登录成功!')
                    break
                else:
                    print('密码或用户名错误')
                    break
            else:
                print('密码格式错误!')
        if (username == 'admin123' or username == '13981489068') and password == '123456':
            break
    else:
        print('用户名格式错误')