使用Python拆分一个字符串为多个子串的多功能函数代码设计
2023-12-13 09:56:19
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)
提示:这段代码如果有不理解或有问题的地方,可评论留言,这是自己设计的,有些复杂。
来源:笨鸟工具导航
免责声明:内容仅供参考!?
文章来源:https://blog.csdn.net/weixin_47378963/article/details/134962610
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!