• python字符串常用方法、分割字符串等


    一、字符串的常用方法

    s = ' abcsdgsdssdgsgsgd你好
    '
    print(s)
    # print(s.count('a'))
    # print(s.index('a',0,10)) #index找不到元素会报错   0,10指定开始和结束的位置,在这个范围内找指定的元素
    # print(s.find('sd',0,10))  #find找不到不会报错
    # print(s.strip(','))# strip可以去掉指定的字符,如果不指定,则默认去掉空格、换行符
    # print(s.rstrip())
    # print(s.lstrip())
    # s = '1234'
    # print(s.replace('s','S')) # 将s替换为S,默认替换所有的,如果再传个数字1,('s','S',1)则只替换1个
    # print('{name},{value}'.format(name=1,value=2,))
    # print(s.upper())
    # print(s.lower())
    
    s='123.py'
    # print(s.isdigit())#是否为纯数字
    # print(s.endswith('.py'))
    # print(s.startswith('123'))
    以上这些是比较常用的
    
    中间这些了解一下 # print('{name},{value}'.format_map({"name":"fangdan","value":10000})) # print('欢迎登陆'.center(50,'*')) # print('登录结束'.center(50,'*')) # print('my car'.title()) #My Car # print(''.isspace()) #判断是否全都是空格 # print(s.isupper()) # print(s.islower()) # print('my car'.capitalize())

    1、str.capitalize()  字符串首字母大写

    2、str.center()  把字符串居中

    3、str.isalnum() 判断字符串是否含有英文、数字,若有英文和数字,则返回true;若除中英文、数字外,有空格之类的符号,则会返回false

    4、str.isalpha() 判断是否只为英文、或只为数字

    name = 'a中国12'  #定义一个字符串
    print(name.capitalize())#把字符串首字母大写
    # A中国12
    print(name.center(50,'*'))#把字符串居中的
    # **********************a中国12***********************
    print(name.isalnum())# 只要有英文、数字就返回true
    # True
    print(name.isalpha())#判断是否只为英文的,或只为汉字也可以
    # False

     5、str.count()  查询指定元素出现的次数,需要记住

     6、str.endswith('**')  判断字符串是否以**结尾

     7、str.startswith('**') 判断字符串是否以**开头

     8、str.isdigit() 判断是否为纯数字,字符串里的用法,如果是int类型的,没有这个方法

    如s=1,则没有这个方法。

    如果s='1',就可以用这个方法

    name = '128a12abc.jpg'  #定义一个字符串
    print(name.count('a'))# 查询次数(有用的,需要记住)
    # 2
    print(name.endswith('.jpg'))# 判断字符串是否以**结尾
    # True
    print(name.startswith('138'))# 判断字符串是否以**开头
    # False
    print(name.isdigit())#判断是否为纯数字
    # False

     9、str.upper() 字符串中的字母变成大写的

    10、str.lower() 字符串中的字母变成小写的

    11、str.find() 取得字符串中某个字符的下标,找不到元素时,不报错,返回-1

    name = '128a12中文ABC.jpg'  #定义一个字符串
    print(name.upper())#字符串中的字母都变成大写的
    # 128A12中文ABC.JPG
    print(name.lower())#字符串中的字母都变成小写的
    # 128a12中文abc.jpg
    print(name.find('r'))#取得字符串中某个字符的下标,找不到元素时候,不会报错,会返回-1
    # -1
    print(name.index('a'))#(不用记,不如find好用)取得字符串中某个字符的下标,找不到元素会报错
    # 3
    print(name.isidentifier())#(无用,不用记)判断是否为合法的变量名
    # False

    12、str.isspace() 判断是否全都是空格

    13、str.strip() 去掉字符串两边的东西,默认是去掉两边的空格和换行符的

    14、str.lstrip() 去掉字符串左边的东西

    15、str.rstrip() 去掉字符串右边的东西

    16、str.replace(,) 替换字符串,把前面的替换成后面的

    name = '   128a12中文ABC.jpg    '  #定义一个字符串
    print(name.isspace())# 判断是否全都是空格
    # False
    print(name.strip())#去掉字符串两边的东西,默认是去掉两边的空格和换行符的
    # 128a12中文ABC.jpg
    print(name.lstrip())#去掉字符串左边的东西
    # 128a12中文ABC.jpg
    print(name.rstrip())#去掉字符串右边的东西
    #    128a12中文ABC.jpg
    print(name.replace('1','6'))#替换字符串,把前面的替换成后面的
    #    628a62中文ABC.jpg    
    #示例:replace的使用
    # words_list = ['傻逼','傻b','煞笔','煞比','sb']
    # content = input('请输入:')
    # for word in words_list:
    #     content = content.replace(word,'**')
    # print(content)
    
    #有一个文件,里面有一些敏感词汇,如下,如果输入这些词,就用**代替,然后输出,
    #例如输入今天没吃饭,碰到一个傻逼,原来那个sb是小明。输出今天没吃饭,碰到一个**,原来那个**是小明。

    17、str.zfill()  在字符串前面补0

    name = '5'
    print(name.zfill(5))# 在前面补0
    # 00005
    # if len(s)<3:
    #     if len(s)==1:
    #         s='00'+s
    #     elif len(s)==2:
    #         s='0'+s
    #     else:
    #         s = '0'
    # print(s.zfill(4))

    18、str[] 字符串是可以根据下标来取值的

    name = '123abc中文'
    print(name[1])# 字符串也是可以根据下标来取值的
    # 2

    19、str.format()

    20、str.format_map()

    name = '123abc中文'
    print(name.format())
    # 123abc中文
    # print(name.format_map())  报错
    # print('{name},{value}'.format_map({"name":"fangdan","value":10000}))

    二、分割字符串

    1、将字符串变为list

    (1)分割字符串;

    (2)把字符串变成一个list;

    (3)默认是以空格和换行符分割的;

      (4)  如果分割不了就不分割,输出一个list

    names = '''a1,a2,a3,a4,a5'''
    list = names.split(',')
    print(list)
    # ['a1', 'a2', 'a3', 'a4', 'a5']
    # s='''傻逼,傻b,煞笔,煞比,sb,傻B,shabi'''
    #
    # print(s.split(','))

    2、将list变为字符串  print('、'.join(stus))

    (1)把list变成字符串;

    (2)以某个字符串连接;

    stus = ['a1', 'a2', 'a3', 'a4', 'a5']
    print(''.join(stus)) # 将list转换成字符串,以“、”连接
    # a1、a2、a3、a4、a5
    l = ['傻逼', '傻b', '煞笔', '煞比', 'sb', '傻B', 'shabi']
    
    # s.join() #连接list里面的每个元素的
    
    l_str = '.'.join(l)
    print(l_str)
    print(type(l_str))

    三、字母数字等的操作

    导入string模块: import string

    import string
    print(string.ascii_letters)# 所有的大写+小写字母
    # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    print(string.ascii_lowercase)# 所有的小写字母
    # abcdefghijklmnopqrstuvwxyz
    print(string.ascii_uppercase)# 所有的大写字母
    # ABCDEFGHIJKLMNOPQRSTUVWXYZ
    print(string.digits)#所有的数字
    # 0123456789
    print(string.punctuation)#所有的特殊字符
    # !"#$%&'()*+,-./:;<=>?@[]^_`{|}~

    多行的字符串,用三个单引号

    s='''test
    test
    test'''


    附录:笔记
    python
        int string list float bool

  • 相关阅读:
    条款33:避免遮掩继承而来的名称
    LeetCode OJ:Combinations (排列组合)
    LeetCode OJ:Delete Node in a Linked List(链表节点删除)
    LeetCode OJ:Contains Duplicate III(是否包含重复)
    LeetCode OJ:Contains DuplicateII(是否包含重复II)
    luogu 1004 方格取数
    平衡树之伸展树(Splay Tree)题目整理
    P2472 [SCOI2007]蜥蜴(网络最大流)
    P1349 广义斐波那契数列(矩阵加速)
    P4113 [HEOI2012]采花 (莫队TLE)
  • 原文地址:https://www.cnblogs.com/Noul/p/9156089.html
Copyright © 2020-2023  润新知