使用Python拆分一个字符串为多个子串的多功能函数代码设计

简介: 要想将Python的字符串拆成多个子串,可以使用字符串对象的split()方法。不过,使用才方法时,需要注意的是参数的传递,确切来说,需要观察原字符串的特点,比如目标子串之间是否有一样的分隔符,因此,又可以将该方法的使用分成两种情况。现罗列在下方:子串之间存在一样的分隔符,比如“A、B、C”字符串中的三个子串“A”、“B”和“C”之间都使用“、”间隔开来,那么就可以将“、”字符作为参数传递给split()方法,一次性将Python字符串拆分成多个目标子串;子串之间不存在一样的分隔符,比如“C、D,E”,那就需要多次使用split()方法来拆分字符串以得到目标子串;

Python把字符串拆成多个子串的方法

要想将Python的字符串拆成多个子串,可以使用字符串对象的split()方法。不过,使用才方法时,需要注意的是参数的传递,确切来说,需要观察原字符串的特点,比如目标子串之间是否有一样的分隔符,因此,又可以将该方法的使用分成两种情况。现罗列在下方:

  • 子串之间存在一样的分隔符,比如“A、B、C”字符串中的三个子串“A”、“B”和“C”之间都使用“、”间隔开来,那么就可以将“、”字符作为参数传递给split()方法,一次性将Python字符串拆分成多个目标子串;
  • 子串之间不存在一样的分隔符,比如“C、D,E”,那就需要多次使用split()方法来拆分字符串以得到目标子串;

Python把字符串拆成多个子串的函数设计

我们应该设计一个函数既可以在具有相同分隔符的情况下一次性拆分字符串,也可以在不存在一样分隔符的情况下拆分字符串,因此,我们就需要传递一个参数作为信息告诉函数的程序是否具有相同的分隔符,然后根据不同的情况执行不同的程序。除此之外,我们还需要一个可变参数,用来传递不同的分隔符,多次传递给split()方法。还有一点,就是split()方法的返回值是一个列表list,我们将通过索引的方式依照传入的分隔符的顺序访问列表的元素,具体的可参考下方的代码:

def splitStr(strObj, seq=True, *seqList):
    if seq:
        strList = strObj.split(seqList[0])
    else:
        strList = []
        strObjList = [strObj]
        for i in range(len(seqList)):

            strObjList = strObjList[0].split(seqList[i])
            if(len(strObjList) < 3):
                strList.append(strObjList.pop(0))
            elif i != len(seqList) - 1:
                tempstrObjList = strObjList.pop(-1)
                strList.extend(strObjList)
                strObjList = tempstrObjList
            else:
                strList.extend(strObjList)

    return strList

# 测试该函数
strObj = "笨鸟工具导航,www.x1y1z1.com"
strList1 = splitStr(strObj, True, "1")
print(strList1)
print("\n")
strList2 = splitStr(strObj, False, ",", ".")
print(strList2)

提示:这段代码如果有不理解或有问题的地方,可评论留言,这是自己设计的,有些复杂。

原文:Python如何把一个字符串拆成多个子串,多功能函数设计

免责声明:内容仅供参考!

相关文章
|
23小时前
|
机器学习/深度学习 Python
关于python字符串format的一些花式用法_format带加号
关于python字符串format的一些花式用法_format带加号
|
3天前
|
程序员 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,它可以简洁地实现函数的增强、扩展和重用。本文将深入探讨Python中装饰器的工作原理、常见应用场景以及如何自定义装饰器,帮助读者更好地理解和运用这一重要的编程概念。
|
3天前
|
数据采集 Python
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
|
3天前
|
数据采集 数据挖掘 Python
Python学习——函数,2024年最新手持4个大厂offer的我
Python学习——函数,2024年最新手持4个大厂offer的我
|
3天前
|
数据采集 数据挖掘 关系型数据库
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
|
3天前
|
存储 Java Shell
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
|
3天前
|
索引 Python Go
【python学习】字符串详解,面试必问公司的问题
【python学习】字符串详解,面试必问公司的问题
|
23小时前
|
数据采集 算法 Python
2024年Python最全python基础入门:高阶函数,小米面试编程题
2024年Python最全python基础入门:高阶函数,小米面试编程题
|
23小时前
|
数据采集 人工智能 前端开发
干货满满,转行逆袭,0编程基础学Python拿高薪offer如何做?都在这里!
干货满满,转行逆袭,0编程基础学Python拿高薪offer如何做?都在这里!
|
3天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏