python 字符串常见操作

1 str操作

1. str切片

s1 = 'python开发'
s2 =s1[-1] =发
s3 =s1[0:5] # pytho
s4 =s1[:6] # python
s5 = s1[6:-1] # 开
s5 = s1[6:] # 开发
s7 = s1[:5:2]  # 如果我想每隔一位取p,t,o
# 如果我想倒着取呢 发开no
s8 = s1[-1:-5] # 并不会显示任何运行结果  记住左开右闭 需要+1
正确的方法是 s8 = s1[-1:-5:=1] # 倒叙的步长

image-20200527165210546

s = '123a4b5c'

s1 = s[0:3]
s2 = s[3:6]
s3 = s[:-1:2]
s4 = s[1:-2:2]
s5 = s[-1]
s6 = s[-3::-2]

print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)

2. 字符串的常用操作方法

  1. str.upper()
    str.lower()
    
    # 应用:
    # 不区分大小写的验证码
    username = input('请输入你的用户名')
    password = input('请输入你的密码')
    
    code = 'QweA'
    your_code = input('请输入你的验证码')
    if your_code.upper() == code.upper():
        if username == 'taibai' and password == '123':
            print('ok')
        else:
            print('用户名或密码错误')
    else:
        print('验证码错误')
    
    
  2. print(s.startwith('t')) 判断是否以t开始

    'liuyang'
    print(s.startwith('l'))  # 返回bool
    print(s.startwith('y', 3, 6))  # 判断索引3:5之间是否以y开头
    
  3. replace

    msg = '哥哥真帅,哥哥真棒'
    
    msg1 = msg.repalce('哥哥', '刘阳')  # 默认全部替换
    print(msg1)  #
    msg2 = msg.repalce('哥哥', '刘阳', 2) # 默认从左至右 替换2个
    
  4. strip 去除空白

    s4 = '\n太白\t'
    s5 = s4.strip()
    print(s5)
    
    # 了解
    # 可以去除指定的字符
    s4 = 'rre太白qsd' # 去除前后所有字母
    s5 = s4.strip('qserd')
    print(s5)
    

    P20 24分18

  5. split 分割 str --> list

    s6 = '男神:女神:屌丝'
    
    l = s6.split(':')
    
    print(l) 默认按照空格分隔
    
    s6 = ':barry:nvshen:wu'
    print(s6.split(':')) # 
    print(s6.split(':', 2))  # 分割前两个:  
    
    (venv) C:\work\python>python learn.py
    ['', 'barry', 'nvshen', 'wu']
    ['', 'barry', 'nvshen:wu']
    

image-20200527175038161

  1. join 联合 (列表变成字符串) ''.join(list)

    s1 = 'alex'
    s2 = '+'.join(s1)
    print(s2)
    
    (venv) C:\work\python>python learn.py
    a+l+e+x  # 字符串类型
    
    l1 = ['太白', '女神', '吴超'] # 把列表以:链接成字符串
    # 前提 列表里面的元素必须都是str类型
    s3 = ':'.join(l1)
    print(s3)
    
    (venv) C:\work\python>python learn.py
    太白:女神:吴超
    
  2. count 数

    s8 = 'safafdadadad'  # 计算有几个a
    print(s8.count('a'))
    
  3. format 常规化输出

    # 第一种用法
    msg = '我叫{}今年{}性别{}'.format('刘阳', '25', '男')
    print(msg)
    # 第二种
    msg = '我叫{0}今年{1}性别{2}'.format('刘阳', '25', '男')
    # 第三种
    msg = '我叫{name}今年{age}性别{sex}'.format(age=25, sex='男', name='刘阳')
    print(msg)
    
  4. is 系列

    name = 'taibai123'
    print(name.isalnum()) # 字符串自字母或数字组成
    print(name.isalpha()) # 字符串只由字母组成
    print(name.isdecimal()) # 字符串只由十进制组成
    

posted on 2020-07-05 21:10  sunnywillow  阅读(73)  评论(0编辑  收藏  举报