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

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如何把一个字符串拆成多个子串,多功能函数设计

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值