美文网首页
str字符串详解(18种方法)

str字符串详解(18种方法)

作者: 寻心之旅 | 来源:发表于2019-02-02 11:40 被阅读0次

    只要有特殊字符隔开才能分别认为是多个单词(中文也是特殊字符)

    例aa_bb 为2个单词
    1)s = name.title() 每个字母首字母大写

    1. s = name.capitalize() 第一个单词首字大写

    2. s= name.upper() 所有字母全部大写

    应用场景

    yzm = 'o98K' #定义验证码

    y_zm = input("输入验证码(o98K)") # 输入验证码

    if yzm.upper() == y_zm.upper():

    # if O98K == O98K

    print('验证码正确')

    else:

    print("验证码错误")

    1. s1 = name.lower() 所有字母全部小写

    2. s2 = name.count('w') 计数 统计 返回的为数字(统计字符串中w出现的次数)

    3. s = name.find('m') 查找索引位置返回索引号 查找不存在的就返回-1 (返回m的第一个位置)

    1. s1 = name.index('m') 查找索引位置返回索引号 查找不存在的就报错(让你滚)
      索引(下标)
      m e e t
      0 1 2 3 从左向右
      -4 -3 -2 -1 从右向左

    name = 'meet'
    print(name[0])0位置对应的字母,结果为m
    切片

    记忆技巧: [0:3] ,3-0=3 3个数 从0开始 当然是0,1,2
    [-1:-4:-1] -1-(-4)=3 3个数 从-1开始 当然是-1,-2,-3
    print(name[0:3]) # [起始位置:终止位置] (终止的不包含)
    结果mee
    顾头不顾腚 从左到右

    print(name[-1:-4:-1]) # [起始位置:终止位置:步长] (步长正负为方向,-1从右到左,默认1从左到右)
    自己不写的时候默认是1
    注意:起始位置:中止位置的方向需要与 步长的方向一致 否则输不出来
    省略写法: [:] 表示从0到正无穷 [:3]表示3位数,即从0到2.

    总结: 下标(索引)

    从左往右 0开始 从右往左 -1 开始

    切片

    从左往右 [起始位置:终止位置] 如果[-1:-4] 这样可以取到内容吗? 是不可以的

    步长(扯蛋) [起始位置:终止位置:步长] (方向) 默认使用是1 也就是从左往右

    想要从右往左 步长写为 -1

    可以一次性跨多个(例如我们写的步长为2,3,4,5

    1. s = name.center(100,"-") 字符串居中
      空间共100位置,字符串居中,其余空白位置由"_"填充.
      name = "meet"
      s7 = name.center(10,"*") # 居中 第一个放数字,第二个放要填充的内容
      print(s7)
      结果 meet

    9)s8 = name.split("e") 字符串分割 # 分割 ############## 非常非常重要
    注意,字符串分割的符号如果在字符串最后,则生成的列表最后一定要加一个空字符''

    split()默认使用的是空格

    可以将字符串转换成 "列表" 注意是"列表"

    面试题 通过代码一行把字符串转换成列表

    例:
    ms = input("输入账号和密码 用|分割:") 输入root|123
    lst = ms.split("|") 使用"|"分割
    print(lst)

    10)s = name.strip("alex") 字符串首位脱字符 # 脱 strip()默认脱的是头尾俩边的空格

    # 我们指定要脱的时候 只能脱头尾的内容 注意 是 头和尾巴

    # 默认脱空格和换行符 \n == 键盘上的回车

    应用场景:

    user = input("请输入用户名:").strip() #默认脱空格
    pwd = input("请输入密码:").strip()

    if user == 'alex' and pwd == 'alex3714':
    print('可以取钱了')
    else:
    print('不能取钱')

    11)s = '_'.join(lst)指定字符把列表或者字符串拼接成新的字符串 (注意格式和其他的全都不同!)

    lst = ['1','2','3'] #可以为列表,也可以为字符串.
    s = ''.join(lst) #指定""来拼接字符串
    print(s) #结果为1_2_3

    自己写算法 搞定

    用代码一行把列表转换成字符串

    12)s = name.replace('需要被替换的内容','用什么来替换') 字符串的替换

    name = ' a l e x n b '

    s = name.replace(' ','')(把空格替换成空字符,即去空格) #替换 # 第一个是要被替换的内容,第二是要什么替换

    # 牛逼之处

    print(s)

    13)s = name.startswith('w') 判断字符是否以指定字符开头

    name = 'wusir'

    s = name.startswith('w') # 以什么开始 获取的结果是布尔值

    print(s)

    14)s1 = name.endswith('i') 判断字符是否以指定字符结尾 # 以什么结尾 获取的结果是布尔值
    15)s = name.format('是个','心','肝') 格式化输出

    a)# name = '武藤兰{}小{}{}'

    s = name.format('是个','心','肝') # 按照占位的顺序来填充

    b)# name = '武藤兰{0}小{2}{1}'

    s = name.format('是个','心','肝') # 按照索引来对应填充

    结果是 武藤兰是个小肝心

    c)# name = '武藤兰{a}小{b}{c}'

    s1 = name.format(a='是个',b='演',c='员') # 按照关键字对应填充

    格式化

    print(s1)

    is 系列
    name = '12341234'

    16)s = name.isalnum() 判断字符串是不是数字和字母组成

    17)s1 = name.isalpha() 判断字符串是不是由纯字母组成

    18)s2 = name.isdigit() 判断字符串是不是由纯数字组成 ######

    相关文章

      网友评论

          本文标题:str字符串详解(18种方法)

          本文链接:https://www.haomeiwen.com/subject/qurssqtx.html