要想将Python的字符串拆成多个子串,可以使用字符串对象的split()方法。不过,使用才方法时,需要注意的是参数的传递,确切来说,需要观察原字符串的特点,比如目标子串之间是否有一样的分隔符,因此,又可以将该方法的使用分成两种情况。现罗列在下方:
我们应该设计一个函数既可以在具有相同分隔符的情况下一次性拆分字符串,也可以在不存在一样分隔符的情况下拆分字符串,因此,我们就需要传递一个参数作为信息告诉函数的程序是否具有相同的分隔符,然后根据不同的情况执行不同的程序。除此之外,我们还需要一个可变参数,用来传递不同的分隔符,多次传递给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)
提示:这段代码如果有不理解或有问题的地方,可评论留言,这是自己设计的,有些复杂。
免责声明:内容仅供参考!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。