zoukankan      html  css  js  c++  java
  • 字符串的操作训练

    如何拆分含有多种分隔符的字符串

    zero, one, two, three, fous, five, six, seven, eight, nine = range(10)
    """
    Author:Cairo
    """
    '''
    实际案例:
        我们要把某个字符串依据分隔符号拆分不同的字段,
        该字符串包含多种不同的分隔符,例如:
        s='ab;cd|ef+hi,/dsaef;sdfe.usad	xyz'
    '''
    '''
    解决方案:
        方法一:连续使用是str.split()方法,每次处理一种分隔符号。
        方法二:使用正则表达式的re.split()方法,一次性拆分字符串。
    '''
    # def mysplit(s,ds):
    #     res = [s]
    #     for i in ds:
    #         t = []
    #         map(lambda x:t.extend(x.split(i)) , res)
    #         res = t
    #     return res
    s='ab;cd|ef+hi,/ds	ef;sd fe.usad	xyz'
    # print(mysplit(s,';|/,.	'))
    
    # 二:
    import re
    print(re.split(r'[;|/,.	+ ]+',s))#方括号内的是切割符号,方括号外边的+号是一个或者多个
    #注意:如果只是切割一个字符串就用s.split(),因为这个比正则快

    如何判断字符串是a是否以字符串b开头或结尾

    zero, one, two, three, fous, five, six, seven, eight, nine = range(10)
    """
    Author:Cairo
    """
    '''
    使用字符串的str.startswith()和str.endswith(可以多个)方法。
    注意:多个匹配时参数使用元组
    '''
    import os , stat
    print(os.listdir('.'))

    正则的捕获与替换

    zero, one, two, three, fous, five, six, seven, eight, nine = range(10)
    """
    Author:Cairo
    """
    import re
    log = ['2018-05-06','2017-08-06','2016-05-08','2019-01-23']
    # for i in log:
    #     print(re.sub('(d{4})-(d{2})-(d{2})',r'1/2/3',i))
    
    '''
    返回的是一个地址,要看看需求来定了
    #使用匿名函数解析
    # nima = map(lambda x:re.sub('(d{4})-(d{2})-(d{2})',r'1/2/3',x),log)
    # print(nima)
    # 使用map+lambda返回地址
    # nima = filter(lambda x:re.sub('(d{4})-(d{2})-(d{2})',r'1/2/3',x),log)
    # print(nima)
    # 使用filter+lambda返回地址
    '''
    
    # 列表解析
    print([x for x in log if re.sub('(d{4})-(d{2})-(d{2})',r'1/2/3',x)])
    
    '''
    :r'1/2/3':替换前面的,捕获组
    :r:原始字符串
    '''
    # 还可以给每个组取名
    for i in log:
        print(re.sub('(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2})',r'g<year>/g<month>/g<day>',i))
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    python split的用法
    大学排名爬虫
    一直在报错:ModuleNotFoundError: No module named 'bs4'.
    微信小程序部署到线上环境
    mybatis关联三张表查询对应字段名
    WPF图像裁剪控件
    git创建标签并推送到远程
    Windows7、10的热键屏蔽
    WPF使用SVG简单整理
    Visual Studio 注册码和下载
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/9093201.html
Copyright © 2011-2022 走看看