• python字符串相关操作


    python字符串

    字符串

    定义方式:

    • 单引号定义字符串 ‘ ABC’
    • 双引号定义字符串 “ ABC”
    • 三引号定义字符串 ''' ABC'''或者""" ABC"""
    • 定义时三种引号可以互相嵌套

    转义字符

    一个普通的字符,通过转义符 进行转义或续行

    # 续行
    vars='123'
        '456'
    print(vars)
    # 
     换行
    print('床前明月光,
    疑是地上霜')
    # 
     光标的起始位置(只打印疑是地上霜)
    print('床前明月光,
    疑是地上霜')
    # 	 制表符(床前明月光,    疑是地上霜)
    print('床前明月光,	疑是地上霜')
    #  退格符,回删一个字符(床前明月光疑是地上霜)
    print('床前明月光,疑是地上霜')
    # \b双斜线代表反转义(床前明月光,
    疑是地上霜)
    print('床前明月光,\n疑是地上霜')
    # r取消转义(床前明月光,
    疑是地上霜)
    print(r'床前明月光,
    疑是地上霜')
    

    字符串的操作

    字符串+操作

    字符串*操作

    字符串[]切片操作

    # 字符串拼接(床前明月光,疑是地上霜。举头望明月,低头思故乡。)
    vara='床前明月光,疑是地上霜。'
    varb='举头望明月,低头思故乡。'
    print(vara+varb)
    
    # 字符串*重复操作(床前明月光,床前明月光,床前明月光,床前明月光,床前明月光,)
    varc='床前明月光,'*5
    print(varc)
    
    # 字符串[]切片操作
    """
    使用方式:
        [开始值:结束值:步进值]
    开始值默认为0,结束值默认最后一个下标,步进值默认为1
    逻辑:
        包前不包后
    """
    vard='床前明月光,疑是地上霜。'
    print(vard[2:5])
    print(vard[1:5:2])
    print(vard[::])# 从头取到尾
    print(vard[::2])# 从头取到尾,每隔一个取一个
    print(vard[::-2])# 尾头取到头,每隔一个取一个
    print(vard[::-1])# 翻转字符串
    

    字符串格式化

    format() 格式化字符串

    # format()格式化字符串
    vara='床前'
    varb='{}明月光,疑是地上霜。'.format(vara) # 床前明月光,疑是地上霜。
    print(vard)
    varc='{}明月光,疑是地{}'.format(vara,'上霜。') # 床前明月光,疑是地上霜。
    print(varc)
    
    # 通过索引传参
    vard='{0}明月光,疑是地{2}'.format(vara,'aaa','上霜。') # 床前明月光,疑是地上霜。
    print(vard)
    
    # f简化方法
    print(f'{vara}明月光,疑是地上霜。') # 床前明月光,疑是地上霜。
    
    # 通过关键字传参
    vard='{a}明月光,疑是地{b}'.format(a=vara,b='上霜。') # 床前明月光,疑是地上霜。
    print(vard)
    
    #容器传参
    vard='a:{0[0]},b:{0[1]},c:{0[2]}'.format(['a','b','c']) # a:a,b:b,c:c
    print(vard)
    data={'a':'床前','b':'上霜'}
    vare='{a}明月光,疑是地{b}'.format(**data) # 床前明月光,疑是地上霜。
    print(vare)
    
    #f方法
    varf=f'{data["a"]}明月光,疑是地{data["b"]}' # 床前明月光,疑是地上霜。
    print(varf)
    
    #限制小数点后展示多少位
    varg='圆周率:{:.2f}'.format(3.1415926) # 圆周率:3.14
    print(varg)
    

    字符串内置函数

    # str.capitalize() 转成首字母大写
    vara='i love you'
    res=vara.capitalize()
    print(res) # I love you
    
    # str.title() 每个单词首字母大写
    res=vara.title()
    print(res) #I Love You
    
    # str.upper() 英文字母全部转成大写
    varb='i love you '
    res=varb.upper()
    print(res) # I LOVE YOU
    
    # str.lower() 英文字母全部转成小写
    res=vara.lower()
    print(res) # i love you
    
    # str.swapcase() # 大小写翻转
    varc='I love You'
    res=varc.swapcase()
    print(res) # i LOVE yOU
    
    #字符检测方法
    # str.isupper() 检测当字符串是否全又大写组成
    var='I LOVE YOU'
    print(var.isupper()) # True
    
    # str.islower()
    var='i love you'
    print(var.islower()) #True
    
    # str.istitle() 检测字符串英文是否符合title要求
    var='I Lvoe You' # True
    print(var.istitle())
    
    #str.isalnum() 检测字符串是否全部由字符组成
    var ='i love you' #False 有空格,返回False
    print(var.isalnum())
    
    #str.isalpha() 检测字符串是否由中英文组成(不包含其它字符,例如数字)
    num='123' # False,字符串中有数字
    print(num.isalpha())
    
    # str.isdigit() #检测字符串是否有纯数字组成
    num='123' # True,检测字符串中是否由纯数字组成
    print(num.isdigit())
    
    #str.isspace() 检测是否全由空格组成
    str='    ' # True
    print(str.isspace())
    
    #startswith 检测字符串是否由字符开头
    var='i love you' # True
    print(var.startswith('i',0)) #默认为0位置开始检查,下标可以不需要填写
    
    # endswith检测字符串是否由指定字符结尾
    str='i love you' # True
    print(str.endswith('you'))
    print(str.endswith('love',0,6))
    

    字符串查找与操作(重点)

    查找操作

    # 检测字符是否存在字符串中
    str='i love you'
    print('love' in str)
    
    # 获取字符串长度
    str='i love python'
    print(len(str))
    
    # str.find()从前向后查找,获取指定字符在字符串中的索引位置,未找到则返回 -1
    str='i love python and love java'
    print(str.find('love')) # 只找第love一次出现的位置
    print(str.find('love',7,-3)) # 指定查找位置
    print(str.find('love',7)) # 指定查找位置
    print(str.find('php')) # 没有找到,返回-1
    
    # str.rfind() 从后向前查找
    str='i love python and love java'
    print(str.rfind('love'))
    print(str.rfind('love',0,10))# 指定查找位置
    
    #str.index()和find方法相同,但如果没找到会报错
    str='i love python and love java'
    print(str.index('love'))
    #print(str.index('php')) #报错:substring not found
    
    # str.index()和rfind方法相同,但如果没找到会报错
    str='i love python and love java'
    print(str.rindex('love'))
    #print(str.rindex('php')) #报错:substring not found
    
    # str.count() 计算字符在字符串中出现的次数
    str='i love python and love java'
    print(str.count('a'))
    print(str.count('love'))
    print(str.count('love',0,-1))
    

    字符串操作

    # str.split()按照指定字符,把字符串分割成一个列表
    # ['i', 'love', 'you', 'python']
    str='i love you python'
    print(str.split(' '))
    
    # 从前向后割两次['i', 'love', 'you python']
    print(str.split(' ',2))
    
    # 从后向前分割两次['i love', 'you', 'python']
    str='i love you python'
    print(str.rsplit(' ',2))
    
    #取出value值:he、10、man
    str='name=he&age=10&sex=man'
    res=str.split('&')
    for i in res:
        resi=i.split('=')
        print(resi.pop())
    
    # str.join() 按照指定的字符,把容器中的数据连接成字符串
    arry=['i', 'love', 'you', 'python']
    print('-'.join(arry)) # i-love-you-python
    
    # str.strip() 去除左右两侧指定字符
    str='   i love you'
    print(str.strip(' ')) # 只去除两侧空格,中间空格无法去除i love you
    
    # str.lstrip() 去除字符串左侧指定字符
    str='    i love python    '
    print(str.lstrip(' '))
    
    # str.rstrip() 去除字符串右侧指定字符
    str='    i love python    '
    print(str.rstrip(' '))
    
    # str.replace() 替换
    str='i love python and i love java'
    print(str.replace(' ','_')) # i_love_python_and_i_love_java
    #找到指定字符并且替换
    print(str.replace('java','php',1)) # i love python and i love php
    print(str.replace('a','A',2)) # i love python And i love jAva
    
  • 相关阅读:
    Spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配
    Eclipse导入SpringBoot项目pom.xml第一行报错Unknown error
    分库分表理论概述
    什么是乐观锁,什么是悲观锁
    oracle中的索引查看
    手动实现tail
    KNN理论
    矩阵以及向量
    numpy常用的几个小函数
    线性回归
  • 原文地址:https://www.cnblogs.com/hekaiqiaq/p/15534221.html
Copyright © 2020-2023  润新知