• 分割、合并字符串


    自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

    在Python中,字符串对象提供了分割和合并字符串的方法。分割字符串是把字符串分割为列表,而合并字符串是把列表合并为字符串,分割字符串和合并字符串可以看作是互逆操作。

    (1)分割字符串

    字符串对象的split()方法可以实现字符串分割,也就是把一个字符串按照指定的分隔符切分为字符串列表。该列表的元素中,不包括分隔符。split()方法的语法格式如下:

    str.split(sep, maxsplit)

    参数说明:

    l  str:表示要进行分割的字符串。

    l  sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行“\n”、制表符“\t”等)。

    l  maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数,个数最多为maxsplit+1。

    l  返回值:分隔后的字符串列表。

    说明:在split()方法中,如果不指定sep参数,那么也不能指定maxsplit参数。

    例如,定义一个保存明日学院网址的字符串,然后应用split()方法根据不同的分隔符进行分割,代码如下:

    str1 = '明 日 学 院 官 网  >>>  www.mingrisoft.com'

    print('原字符串:',str1)

    list1 = str1.split()                     # 采用默认分隔符进行分割

    list2 = str1.split('>>>')                # 采用多个字符进行分割

    list3 = str1.split('.')                  # 采用.号进行分割

    list4 = str1.split(' ',4)            # 采用空格进行分割,并且只分割前4个

    print(str(list1) + '\n' + str(list2) + '\n' + str(list3) + '\n' + str(list4))

    list5 = str1.split('>')                 # 采用>进行分割

    print(list5)

    上面的代码在执行后,将显示以下内容:

    原字符串: 明 日 学 院 官 网  >>>  www.mingrisoft.com

    ['明', '日', '学', '院', '官', '网', '>>>', 'www.mingrisoft.com']

    ['明 日 学 院 官 网 ', ' www.mingrisoft.com']

    ['明 日 学 院 官 网  >>>  www', 'mingrisoft', 'com']

    ['明', '日', '学', '院', '官 网  >>>  www.mingrisoft.com']

    ['明 日 学 院 官 网  ', ' ', ' ', '  www.mingrisoft.com']

    说明:在使用split()方法时,如果不指定参数,默认采用空白符进行分割,这时无论有几个空格或者空白符都将作为一个分隔符进行分割。例如,上面示例中,在“网”和“>”之间有两个空格,但是分割结果(第二行内容)中两个空格都被过滤掉了。如果指定一个分隔符,那么当这个分隔符出现多个时,就会每个分隔一次,没有得到内容的,将产生一个空元素。例如,上面结果中的最后一行,就出现了两个空元素。

    场景模拟:微博的@好友栏目中,输入“@@扎克伯格 @俞敏洪”(好友名称之间用一个空格区分),同时@三个好友。

    图标 (35)

      实例03  输出被@的好友名称

    在IDLE中创建一个名称为atfriend.py的文件,然后在该文件中定义一个字符串,内容为“ @ @扎克伯格 @俞敏洪”,然后使用split()方法对该字符串进行分割,从而获取出好友名称,并输出,代码如下:

    str1 = '@ @扎克伯格 @俞敏洪'

    list1 = str1.split(' ')          # 用空格分割字符串

    print('您@的好友有:')

    for item in list1:

        print(item[1:])             # 输出每个好友名时,去掉@符号

    运行结果如图7所示。

    图7  输出被@的好友

    (2)合并字符串

    合并字符串与拼接字符串不同,它会将多个字符串采用固定的分隔符连接在一起。例如,字符串“绮梦 * 冷伊一 * 香凝 * 黛兰”,就可以看作是通过分隔符“ * ”将['绮梦', '冷伊一', '香凝', '黛兰']列表合并为一个字符串的结果。

    合并字符串可以使用字符串对象的join()方法实现,语法格式如下:

    strnew = string.join(iterable)

    参数说明:

    l  strnew:表示合并后生成的新字符串。

    l  string:字符串类型,用于指定合并时的分隔符。

    l  iterable:可迭代对象,该迭代对象中的所有元素(字符串表示)将被合并为一个新的字符串。string作为边界点分割出来。

    场景模拟:微博的@好友栏目中,输入“@@扎克伯格 @俞敏洪”(好友名称之间用一个空格区分),即可同时@三个好友。现在想要@好友列表中的全部好友,所以需要组合一个类似的字符串。

    图标 (35)

      实例04  通过好友列表生成全部被@的好友

    在IDLE中创建一个名称为atfriend-join.py的文件,然后在该文件中定义一个列表,保存一些好友名称,然后使用join()方法将列表中每个元素用空格+@符号进行连接,再在连接后的字符串前添加一个@符号,最后输出,代码如下:

    list_friend = ['','扎克伯格','俞敏洪','马云','马化腾']  # 好友列表

    str_friend = ' @'.join(list_friend)  # 用空格+@符号进行连接

    at = '@'+str_friend  # 由于使用join()方法时,第一个元素前不加分隔符,所以需要在前面加上@符号

    print('您要@的好友:',at)

    运行结果如图8所示。

    图8  输出想要@的好友

  • 相关阅读:
    JavaSE——学习总结
    深度学习pytorch训练代码模板(个人习惯)
    c++参数传递
    SHELL脚本学习(十三)初识 gawk 编辑器
    故障分析 | ClickHouse 物化视图插入时间变为“1970-01-01 08:00:00”问题复盘
    K8S(5)HPA
    温度对免疫代谢调节和癌症进展的影响
    Week 1 An Introduction to Machine Learning
    Excel 从网站获取表格
    媒体梦工厂AI智聊:轻松提升工作效率的智能助手
  • 原文地址:https://blog.csdn.net/weixin_67859959/article/details/139305863